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

时间:2014-09-15 13:54:08

标签: php laravel logging rsyslog papertrail-app

如何将Laravel日志文件链接到PaperTrial?

根据这篇文章:

http://mattstauffer.co/blog/laravel-forge-logging-with-papertrail#step-4-add-a-syslog-handler

我按照步骤进入第4步,将Syslog Monolog处理程序放在/app/route.php文件中,转到PaperTrial仪表板,但我没有看到任何输出。

有任何帮助吗?感谢。

3 个答案:

答案 0 :(得分:4)

对于Laravel 5.1设置伪造后,您应该在 $ app返回之前添加以下代码 bootstrap / app.php 文件 变量

    $app->configureMonologUsing(function($monolog){
        $monolog->pushHandler(new Monolog\Handler\SyslogHandler('papertrail'));
    });

return $app;

参数(在本例中为“papertrail”)可以是您想要的任何内容,此名称将显示在papertail的事件屏幕上。

答案 1 :(得分:1)

我使用标准日志记录工具而不是Monolog。这样就没有什么额外的安装了。只需将此添加到rsyslogd&#39> s

### 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

答案 2 :(得分:0)

根据我使用Laravel 5.2。*与Forge的经验,不再需要该文章的第4步。在第3步之后,您需要执行的操作是将Forge中的环境.env设置为APP_LOG=syslog,以便为要使用papertrail的每个网站设置。

但是,这意味着Laravel将不再在此环境中登录laravel.log。但是,在其他环境(例如开发环境)中,您当然可以继续记录到laravel.log,只需不对那里的.env文件进行任何更改。