在Laravel中为paperTrail添加syslog处理程序


Add syslog handler in Laravel for paperTrail .

如何将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 Monolog'Handler'SyslogHandler('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