Addon 2x Monolog Logging Service - Dịch vụ ghi nhật ký Monolog XenForo 2 4.0.0

PVS

Super Moderator
Thành viên BQT
Monolog Logging Service - Dịch vụ ghi nhật ký Monolog XenForo 2 4.0.0

Addon XenForo 2.x này thêm chức năng ghi nhật ký bằng cách sử dụng thư viện Monolog từ https://github.com/Seldaek/monolog

Ghi chú

v3.x của addon này sử dụng Monolog v1
v4.x của addon này sử dụng Monolog v2

Hiện tại không có sự khác biệt về chức năng giữa hai phiên bản khác với phiên bản Monolog được sử dụng.

Tính năng
  • Ghi nhật ký vào một tệp
  • Gửi nhật ký qua email
  • Nhật ký được gửi qua email được loại bỏ trùng lặp và lưu vào bộ đệm
  • Định cấu hình mức ghi nhật ký tối thiểu cho tệp so với ghi nhật ký email
  • Thêm dữ liệu khách truy cập bổ sung vào nhật ký: user_id và username
  • Thêm dữ liệu web bổ sung vào nhật ký: URI yêu cầu hiện tại, phương thức yêu cầu và IP client
  • Công cụ kiểm tra được bao gồm để xác minh rằng nhật ký đang được ghi vào đĩa - hãy truy cập AdminCP > Tools > Checks and tests > Test Monolog
1516192724416.png

Cách sử dụng cấu trúc

Theo mặc định, addon này sẽ ghi các sự kiện vào một tệp có tên internal_data/monolog.log - tệp này có thể định cấu hình.

Để sử dụng phương tiện ghi nhật ký mặc định, hãy thực hiện như sau trong code addon của bạn:
PHP:
use Monolog\Helper\Log;
Log::info('an info message', ['context' => 'foo']);
Log::error('an error message', ['data' => 'bar']);

Tuy nhiên, bạn nên tạo channel riêng cho add-on của mình để giúp lọc các mục nhật ký dễ dàng hơn:
PHP:
$logger = \XF::app()->get('monolog')->newChannel('myaddon');
$logger->warning('a warning message', ['context' => 'foo']);

Tham khảo tài liệu để biết hướng dẫn sử dụng chi tiết hơn cho Monolog.

Bạn có thể tạo ngăn xếp trình xử lý của riêng mình để tùy chỉnh cách mọi thứ được ghi lại:
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']);

Tham khảo Handlers, Formatters and Processors để biết thêm thông tin.

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Đính kèm

Back
Top