如何将Laravel日志文件链接到PaperTrial?
根据这篇文章:
http://mattstauffer.co/blog/laravel-forge-logging-with-papertrail#step-4-add-a-syslog-handler
我按照步骤进行了第4步,将Syslog Monolog处理程序放在/app/route.php文件中,转到PaperTrial面板,但没有看到任何输出。
有什么帮助吗?谢谢
对于Laravel 5.1,在设置伪造之后,您应该在$app变量返回之前向bootstrap/app.php文件添加以下代码
$app->configureMonologUsing(function($monolog){
$monolog->pushHandler(new MonologHandlerSyslogHandler('papertrail'));
});
return $app;
参数(在本例中为"papertrail")可以是您想要的任何参数,此名称将显示在papertail的事件屏幕上。
我让它使用标准日志记录工具而不是Monolog。这样就没有什么额外的安装了。只需将其添加到rsyslogd的conf:
### Laravel Log
$InputFileName /path/to/vhost/dir/app/storage/logs/laravel.log
$InputFileTag laravel-errors-domain.com:
$InputFileStateFile state-laravel-errors-domain.com
$InputFileSeverity error
$InputRunFileMonitor
如果您没有发送所有内容,请确保此日志包含在发送操作中。
然后发布
service rsyslog restart
根据我在Forge中使用Laravel 5.2.*的经验,不再需要该文章中的步骤4。在第3步之后,您所要做的就是将Forge中的Environment .env
设置设置为您要与papertrail一起使用的每个站点的APP_LOG=syslog
。
然而,这意味着Laravel在此环境中将不再登录到laravel.log
。但是,在其他环境(例如dev环境)中,您当然可以通过不对.env
文件进行任何更改来继续登录到laravel.log
。