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

Lim*_*nte 10 error-logging error-log laravel laravel-5

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

Lim*_*nte 9

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

1.配置Laravel:

config/app.php配置文件中:

'log' => 'errorlog'
Run Code Online (Sandbox Code Playgroud)

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

2.配置webserver(在我的例子中是Nginx):

error_log    /var/log/nginx/<project_name>-error.log;
Run Code Online (Sandbox Code Playgroud)


Kar*_*sas 6

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

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

App\Providers\AppServiceProvider.php或任何Provider与此有关。这将记录到值APP_LOG_FILE而不是默认值laravel.log。将冒泡设置为 true,应用程序将登录这两个文件。