bnomei/kirby3-monolog

使用Monolog将数据记录到文件/数据库/通知/...

2.0.4 2023-08-02 10:17 UTC

This package is auto-updated.

Last update: 2024-08-31 00:35:37 UTC


README

Release Downloads Build Status Coverage Status Maintainability Twitter

使用Monolog将数据记录到文件/数据库/通知/...

快速入门

site/templates/home.php

monolog()->info('test-' . md5((string) time()), [
    'title' => $page->title(), // field will be normalized
    'page' => $page->id(),
]);

site/logs/2019-10-27.log

[2019-10-27 19:10:30] default.INFO: test-d4a22afc0f735f551748d17c959b3339 {"title":"Home","page":"home"} []

页面方法 此插件还注册了一个页面方法。如果可用,它将使用AutoID,或者回退到基于page->uid()的哈希。

$page->monolog()->info('test-' . md5((string) time()), []);

site/logs/{HASH}.log

[2019-10-27 19:10:30] {HASH}.INFO: test-d4a22afc0f735f551748d17c959b3339 {} []

商业用途


支持开源!

此插件是免费的,但如果您将其用于商业项目,请考虑赞助我或捐款。
如果我的工作帮助您赚了钱,那么我觉得我也应该得到一点回报,对吧?

善良一点。分享一点。谢谢。

-Bruno
 

安装

  • master.zip解压到site/plugins/kirby3-monolog文件夹,或者
  • git submodule add https://github.com/bnomei/kirby3-monolog.git site/plugins/kirby3-monolog或者
  • composer require bnomei/kirby3-monolog

类似插件

  • Log更简单,只需写入文件

设置

使用此插件提供的默认通道或定义自己的通道。Monolog附带了许多处理器、格式化程序和处理器

  • 写入文件或syslog
  • 发送邮件
  • 发布到Slack
  • 插入到本地或远程数据库
  • 格式化为JSON
  • 附加文件/类/方法内省
  • 附加UUID
  • 附加URI、POST方法和IP
  • ...创建自己的

用例

命名通道 => 日志记录器

// write to channel 'default' which writes to file 
// defined at 'bnomei.monolog.file' callback 
$log = \Bnomei\Log::singleton()->channel('default');
// is same as
$log = monolog('default');
// or simply
$log = monolog();

// get a logger instance by channel by name
$securityLogger = monolog('security');

向日志记录器添加记录

消息

$log = monolog();
$log->warning('Foo');

// or with method chaining
monolog()->error('Bar');

消息和上下文

monolog()->info('Adding a new user', [
    'username' => $user->name(),
]);

// increment Field `visits` in current Page
$page = $page->increment('visits');
monolog()->info('Incrementing Field', [
    'page' => $page->id(),
    'visits' => $page->visits()->toInt(),
]);

默认通道

此插件提供的默认通道 写入文件site/logs 文件夹。它将使用文件名格式 date('Y-m-d') . '.log',并使用规范化数据,使记录Kirby对象更容易。

提示:如果没有规范化,您必须在添加其值作为上下文数据之前,对每个Kirby字段调用->value()或将其转换为string

提示:默认通道的日志将生成在您的账户、缓存或会话同一级别的文件夹中。这样,开箱即用地支持零停机部署的服务器设置。

自定义通道

site/config/config.php

return [
    // other config settings ...
    // (optional) add custom channels
    'bnomei.monolog.channels' => [
        'security' => function() {
            $logger = new \Monolog\Logger('security');
            // add handlers, formatters, processors and then...
            return $logger; 
        }
    ],
];

自定义通道扩展

site/config/config.php

return [
    // other config settings ...
    // (optional) add custom channels from other plugins
    'bnomei.monolog.channels.extends' => [
        'myplugin.name.channels', // array of channel definitions in your other option
    ],
];

依赖项

免责声明

此插件“按原样”提供,不提供任何保证。自行承担使用风险,并在将插件用于生产环境之前,请自行测试。

许可

MIT

不建议在任何推广种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式的仇恨言论的项目中使用此插件。