Laravel登录自定义日志文件

时间:2017-04-06 11:28:59

标签: laravel logging

我正在阅读有关日志记录的laravel文档,但我无法找到如何将某些内容记录到我的自定义文件中。例如,如果我这样做:

Log::info('I am logging something!');

或任何其他日志消息。这一切都进入 laravel.log

我想要的是将该消息记录到/storage/logs/my_logs.log文件中。

怎么做?

更新

我不想覆盖默认日志文件....我想拥有laravel.log以及我自己的自定义日志日志文件。

4 个答案:

答案 0 :(得分:3)

也许这个包对您的目的很有用: https://github.com/Edujugon/laravel-log

它非常容易使用。

答案 1 :(得分:2)

您可以在bootstrap/app.php之前添加以下行,然后再返回$app

$app->configureMonologUsing(function ($monolog) {
    $monolog->pushHandler(new \Monolog\Handler\StreamHandler(storage_path("logs/my_logs.log"), \Monolog\Logger::ERROR));
});

有关详情,请参阅此帖:Advance Logging with Laravel and MonologCustom Monolog Handler

答案 2 :(得分:1)

Laravel 5.6允许在config / logging.php中添加自定义日志记录“通道”。

https://laravel.com/docs/5.6/upgrade

https://laravel.com/docs/5.6/logging#creating-custom-channels

答案 3 :(得分:0)

要覆盖默认日志记录配置,请在 AppServiceProvider 中添加以下内容:

public function register()
  $this->app->configureMonologUsing(function() {
    $this->app->log->useFiles($this->app->storagePath().'/logs/my_logs.log');
  });
}