A PocketMine-MP plugin for logging Exceptions to a Sentry server

Overview

Sentry

A PocketMine-MP plugin for logging Exceptions to a Sentry server.

Asynchronous logging

If you want to log exceptions in a thread-safe way, you can use the thread branch. I am sure if plugin developers don't abuse MainLogger::logException() it won't be matter.

but if you don't trust them you can use thread branch anyway.

Getting started

Before you use this plugin, You'll need to create your project on Sentry and get your DSN.

After creating new project, Fill the sentry-dsn field in config.yml with your DSN URL.

" # Other options that will be passed to Sentry client. # Example: # sentry-options: # environment: production # release: 1.0.0 sentry-options: []">
# Sentry Main configuration file
# Configurations in this file may not appear automatically upon update, and some settings may crash the server.

# Sentry DSN link which is used to send errors to Sentry.
# You will get the DSN link when you create a new project in Sentry.
# Example: https:////
sentry-dsn: ""

# Other options that will be passed to Sentry client.
# Example:
# sentry-options:
#   environment: production
#   release: 1.0.0

sentry-options: []

Done! That's it!

Now stay calm and enjoy the server.

It is important that You should create the project as PHP to use this plugin.

Example Error Log

You might also like...
This is a plugin for pocketmine-mp, when locking a player's items helps players not to lose items or throw things around causing server lag.

[] LockedItem| v1.0.0 Player's item lock Features Player's item lock Players aren't afraid of losing items For Devolopers You can access to LockedItem

A Pocketmine-MP plugin to add King Of The Hill events to your server.
A Pocketmine-MP plugin to add King Of The Hill events to your server.

KOTH KOTH is an event popular on HCF and Faction servers. This plugin lets you add this minigame to you server. Support For questions, please join the

Server growth statistics plugin by NhanAZ for PocketMine-MP

General Server growth statistics plugin by NhanAZ for PocketMine-MP Contacts You can contact me directly through the platforms listed below Platform C

PocketMine-MP plugin that adds new blocks to the server!

CustomBlockLoader PocketMine-MP plugin that adds new blocks to the server! Reference This plugin is experimental. We are not responsible for any probl

A simple pocketmine plugin to chat by worlds on your server!

WorldChat Fix Per World Chat plugin for PocketMine-MP API 4.0 Category PocketMine-MP plugins | Php 8 Requirements PocketMine-MP API 4.0.0 and PHP 8 or

This Pocketmine-MP plugin lets you implement the ultimate birthday wishing system on your server.

BirthdaysPE This Pocketmine-MP plugin will let you wish player(s) a happy birthday and notify others to wish them too. Commands /birthday set/reset

Elevator - A simple PocketMine-MP plugin that allows to create elevators on your server
Elevator - A simple PocketMine-MP plugin that allows to create elevators on your server

Elevator - A simple PocketMine-MP plugin that allows to create elevators on your server. How to use You just have to setup an id in the config.yml. Plac

A Simplistic Plugin to Implement Server Claims to your Minecraft: Bedrock Server.
A Simplistic Plugin to Implement Server Claims to your Minecraft: Bedrock Server.

Claims This plugin allows administrators to create, edit, list, and teleport to land claims on a PocketMine server. These claims have a variety of cus

This Pocketmine-MP plugin is a plugin including a complete faction system.

SimpleFaction Simple faction plugin replacing FactionsPro which is no longer updated. Commands Command Name Command Description Available for /f help

Comments
  • Serialization of 'pocketmine\block\Opaque' is not allowed

    Serialization of 'pocketmine\block\Opaque' is not allowed

    Fatal error: Uncaught Exception: Serialization of 'pocketmine\block\Opaque@anonymous' is not allowed in phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/plugins/Sentry.phar/src/alvin0319/Sentry/SentryThread.php:65
    Stack trace:
    #0 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/plugins/Sentry.phar/src/alvin0319/Sentry/SentryThread.php(65): igbinary_serialize(Object(pocketmine\utils\AssumptionFailedError))
    #1 [internal function]: alvin0319\Sentry\SentryThread->alvin0319\Sentry\{closure}()
    #2 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/plugins/Sentry.phar/src/alvin0319/Sentry/SentryThread.php(67): Threaded->synchronized(Object(Closure))
    #3 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/plugins/Sentry.phar/src/alvin0319/Sentry/SentryLogger.php(53): alvin0319\Sentry\SentryThread->writeException(Object(pocketmine\utils\AssumptionFailedError))
    #4 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/PocketMine-MP.phar/src/Server.php(1515): alvin0319\Sentry\SentryLogger->logException(Object(pocketmine\utils\AssumptionFailedError), Array)
    #5 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/PocketMine-MP.phar/src/Server.php(1049): pocketmine\Server->exceptionHandler(Object(pocketmine\utils\AssumptionFailedError))
    #6 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/PocketMine-MP.phar/src/PocketMine.php(304): pocketmine\Server->__construct(Object(BaseClassLoader), Object(pocketmine\utils\MainLogger), 'D:\\D-Backups\\MC...', 'D:\\D-Backups\\MC...')
    #7 phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/PocketMine-MP.phar/src/PocketMine.php(327): pocketmine\server()
    #8 D:\D-Backups\MCBE\PocketMine-MP-Projects\Neutronia\PocketMine-MP.phar(11): require('phar://D:/D-Bac...')
    #9 {main}
      thrown in phar://D:/D-Backups/MCBE/PocketMine-MP-Projects/Neutronia/plugins/Sentry.phar/src/alvin0319/Sentry/SentryThread.php on line 65
    

    According to the investigation from Sentry, It seems Error::getTraces() contains the list of objects, which caused that.

    Sentry Error: https://sentry.io/share/issue/ea2b81abb2d642e28c7ced8e768822af/

    opened by alvin0319 1
Owner
19-years old kid who loves open source, Prefer to use Kotlin and PHP.
null
PocketMine-MP To Discord Chat Logging.

Welcome To PocketCord PocketCord is a PocketMine-MP plugin designed to link discord and your PocketMine-MP Server with quick and easy setup! Installat

null 2 Sep 15, 2022
All PHP functions, rewritten to throw exceptions instead of returning false

Safe PHP This project is deprecated Because of how this project needs to be in sync with the official PHP documentation, maintaining a set of function

TheCodingMachine 2.1k Dec 28, 2022
All PHP functions, rewritten to throw exceptions instead of returning false, now for php8

A set of core PHP functions rewritten to throw exceptions instead of returning false when an error is encountered.

TheCodingMachine 106 Nov 21, 2022
🏆 Learn You PHP! - An introduction to PHP's core features: i/o, http, arrays, exceptions and so on.

Learn You PHP! The very first PHP School workshop. A revolutionary new way to learn PHP Bring your imagination to life in an open learning eco-system

PHP School 311 Dec 30, 2022
Magento 2 module to log to Sentry

Magento 2 Sentry Logger This Magento 2 module integrates the Sentry sdk into magento 2. Depending on the log level configured in the backend of magent

JustBetter 134 Dec 19, 2022
A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP

General A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP Contacts You can cont

NhanAZ's PocketMine-MP Plugins 10 Sep 27, 2022
A horrendous PM plugin to manually load all the chunks in your world without logging on. Only for the sole purpose of aiding in PM4 -> DF world conversion.

ChunkLoader A horrendous PM plugin to manually load all the chunks in your world without logging on. Only for the sole purpose of aiding in PM4 -> DF

null 2 Aug 10, 2022
Here is an Instagram Guest API. Gather all public information as JSON format without logging yourself.

Here is an Instagram Guest API. Gather all public information as JSON format without logging yourself. It's all automation and time saving.

Quatrecentquatre 1 Nov 2, 2021
The package provides the ability to write logs into the database synchronously or asynchronously, along with other logging channels.

Laravel database log channel The package provides the ability to write logs into the database synchronously or asynchronously, along with other loggin

Jarosław Goszowski 18 Nov 28, 2022
A Pocketmine-MP (PMMP) plugin to help staff members enforce the rules of the server.

StaffMode is an all-in-one Pocketmine-MP (PMMP) moderation plugin made to simplify the life of staff members.

ItsMax123 9 Sep 17, 2022