Laravel 5 - 更改默认日志位置,在应用程序外移动日志文件

时间:2015-11-20 11:46:51

标签: laravel laravel-5 error-logging error-log

如何将默认日志文件位置<project-name>/storage/logs/laravel.log更改为/var/logs/<project-name>/laravel.log

2 个答案:

答案 0 :(得分:8)

我通过使用errorlog日志记录模型和配置webserver解决了这种情况。

<强> 1。配置Laravel:

config/app.php配置文件中:

'log' => 'errorlog'

阅读有关Laravel日志配置的更多信息:http://laravel.com/docs/5.1/errors#configuration

<强> 2。配置webserver(在我的例子中是Nginx):

error_log    /var/log/nginx/<project_name>-error.log;

答案 1 :(得分:4)

对于那些不想使用errorlog并且真的想要替换要登录的文件的人,可以这样做:

\Log::useFiles(env('APP_LOG_FILE'), config('app.log_level', 'debug'));
$handlers = \Log::getMonolog()->getHandlers();
$handler = array_shift($handlers);
$handler->setBubble(false);

App\Providers\AppServiceProvider.php或任何Provider上。这将记录APP_LOG_FILE的值,而不是默认的laravel.log。将bubbling设置为true,应用程序将登录这两个文件。