【发布时间】:2019-08-21 11:03:22
【问题描述】:
我正在开发一个 laravel 插件/包。
我们想在主项目配置之外定义我们自己的记录器 (config/logger.php)
我在 ServiceProvider register() 函数中尝试了以下操作。
基于 MonoLogger 测试代码。
$partLogger = new Logger('vendor_part-log');
$partLogHandler = new StreamHandler(storage_path('logs/vendor/part-log.log', Logger::DEBUG));
$partLogger->pushHandler($partLogHandler);
// MonoLog Registry
Registry::addLogger($partLogger, 'vendor_part-log');
遗憾的是,这在 Laravel 中不起作用。
我也无法从Registry::获取其他现有记录器
所以问题是新频道不会注册。
在 Laravel 中是否使用了不同的注册表,或者我需要完全不同的解决方案来实现这一点?
【问题讨论】:
-
您能告诉我们您遇到的具体问题或错误是什么吗?
-
没有错误,我只是无法注册新的日志通道。
-
@HTDutchy 我认为不需要
Registry::addLogger($partLogger, 'vendor_part-log');行。 -
@JinalSomaiya 如果不需要它,它已经可以工作了。 Logger 是一个新实例,它不会神奇地挂接到任何现有的实例。
标签: php laravel logging laravel-5.8 monolog