bnomei / kirby3-monolog
使用Monolog将数据记录到文件/数据库/通知/...
Requires
- php: >=8.0
- getkirby/composer-installer: ^1.1
- monolog/monolog: 2.2.0
Requires (Dev)
- getkirby/cms: ^3.2
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.5
README
使用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 ], ];
依赖项
免责声明
此插件“按原样”提供,不提供任何保证。自行承担使用风险,并在将插件用于生产环境之前,请自行测试。
许可
不建议在任何推广种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式的仇恨言论的项目中使用此插件。