Monolog Logging Service

Monolog Logging Service 4.0.0

No permission to download
Compatible XF 2.x versions
  1. 2.1
  2. 2.2
License
MIT
Visible branding
No
This XenForo 2.x addon adds logging functionality using the Monolog library from https://github.com/Seldaek/monolog

Notes

v3.x of this addon uses Monolog v1
v4.x of this addon uses Monolog v2

There is currently no difference in functionality between the two versions other than the version of Monolog used.

Features
  • Log to a file
  • Send logs via email
  • Emailed logs are deduplicated and buffered
  • Configure minimum logging levels for files vs email logging
  • Add extra visitor data to logs: user_id and username
  • Add extra web data to logs: current request URI, request method and client IP
  • Test tool included to verify that logs are being written to disk - go to AdminCP > Tools > Checks and tests > Test Monolog

1516192724416.png


Usage Instructions

By default, this addon will log events to a file called internal_data/monolog.log - this is configurable.

To use the default logging facility, do the following in your addon code:

PHP:
use Monolog\Helper\Log;
Log::info('an info message', ['context' => 'foo']);
Log::error('an error message', ['data' => 'bar']);


However, it is recommended that you create your own channel for your addon to make it easier to filter log entries:

PHP:
$logger = \XF::app()->get('monolog')->newChannel('myaddon');
$logger->warning('a warning message', ['context' => 'foo']);


Refer to the documentation for more detailed usage instructions for Monolog.

You can create your own handler stack to customise how things are logged:

PHP:
use Monolog\Logger;

$monolog = \XF::app()->get('monolog');
$streamhandler = $monolog->stream(); // return our default stream handler for logging to a file
                            //(or create your own!)

/** @var Monolog\Logger $logger */
$logger = $monolog->logger('myaddon');
$logger->pushHandler($streamhandler); // push our stream handler onto the handler stack
// you can apply any other customisations you like here as well by adding custom handlers, formatters or processors

$logger->critical('a critical message', ['context' => 'foo']);


Refer to Handlers, Formatters and Processors for more information.
Author
Sim
Downloads
67
Views
2,545
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from Sim

  • Location Explain
    Location Explain
    Add an explanation to the location field
  • Known Bots
    Known Bots
    Adds additional definitions for bot detection in sessions
  • CLI Job / Cron Runner
    CLI Job / Cron Runner
    An advanced CLI triggered job runner for Unix cron with extensive debugging support
  • Archive Site
    Archive Site
    Put a site into archive mode and hide unnecessary features from guests
  • Items This Page
    Items This Page
    Add template variable $xf.itemsThisPage for how many posts/media items/resources/etc are on a page

Latest updates

  1. v4.0.0 update - Monolog v2

    v4 implememts Monolog v2 Important to note is that the default date format in logs has changed...
  2. v3.1.1 compatibility with Swiftmailer v6 in XF 2.2

    XenForo v2.2 moved to Swiftmailer v6 - this addon release maintains compatibility across both XF...
  3. v3.1.0 updates

    updates for XF 2.1
Back
Top Bottom