通过ServiceProvider创建一个新的laravel日志记录通道

时间:2018-09-23 19:59:41

标签: laravel logging

我正在创建Laravel软件包。是否可以通过ServiceProvider类创建新的日志记录通道?

我已经在config/logging.php中手动创建了一个新的日志记录通道,但是我希望该程序包将来能够为我自动执行此操作。

更新: 我有一个Laravel软件包,其中将使用它自己的日志记录堆栈和文件。这是我现在config/logging.php中拥有的代码:

'deployment' => [
    'driver' => 'single',
    'path' => storage_path('logs/deployment.log'),
    'level' => 'debug',
],

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用

options.html

在您的$this->app->make('config')->set('logging.channels.deployment', [ 'driver' => 'single', 'path' => storage_path('logs/deployment.log'), 'level' => 'debug', ]); 方法中

答案 1 :(得分:0)

您可以使用app('log')从服务容器中获取LogManager单例,并使用public function stack(array $channels, $channel=null)方法来传递要添加的通道数组。

app('log')->stack([
    'channels' => [
        'test' => [
            'driver' => 'daily',
            'path' => storage_path('logs/test.log'),
            'level' => 'debug',
            'days' => 30,
        ]
    ]
]);