Addon 2x Monolog for XenForo 2 - Thêm Monolog cho XenForo 2

PVS

Super Moderator
Thành viên BQT
Monolog Logging Service for XenForo 2 - Thêm Monolog Logging Service cho XenForo 2 3.1.1

Add-on XenForo 2.0 này thêm chức năng logging sử dụng thư viện Monolog từ https://github.com/Seldaek/monolog

Tính năng
  • Log 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à client IP
  • Công cụ kiểm tra 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 lại các event vào một tệp có tên internal_data/monolog.log - trong các phiên bản sau này sẽ được cấu hình.

Để sử dụng chức năng logging mặc định dễ dàng, hãy thực hiện theo các bước sau trong code addon của bạn:
PHP:
/** @var Monolog\Logger $logger */
$logger = \XF::app()['monolog']->default();

$logger->info('an info message', ['context' => 'foo']);

$logger->error('an error message', ['context' => 'bar']);

Tuy nhiên, bạn nên tạo channel riêng cho addon của mình để giúp bạn lọc các log entries dễ dàng hơn:
PHP:
/** @var Monolog\Logger $logger */
$logger = \XF::app()['monolog']->newChannel('myaddon');

$logger->error('an error message', ['context' => 'foo']);
Xem tài liệu hướng dẫn sử dụng chi tiết hơn cho Monolog.

Bạn có thể tạo handler stack riêng của mình để tùy chỉnh cách thức mọi thứ được ghi lại:
PHP:
use Monolog\Logger;

$monolog = \XF::app()['monolog'];

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

/** @var Monolog\Logger $logger */
$logger = new 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->error('an error message', ['context' => 'foo']);

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

Phiên bản hiện tại sẽ thêm ngữ cảnh bổ sung bao gồm thông tin về yêu cầu web đã kích hoạt đăng nhập, cộng với userid và username của khách truy cập đang đăng nhập. Điều này sẽ được cấu hình trong các phiên bản sau này.

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


Nguồn: xenforo.com​
 

Đính kèm

Back
Top