Laravel包括syslog在线的项目名称

时间:2018-05-24 14:32:13

标签: php laravel

我在服务器上运行多个Laravel项目。他们都去了syslog(进入splunk)但是我无法确定日志行来自哪个项目。

May 24 14:22:45 redacted laravel[20101]: production.DEBUG: this is a test from project 2 [] []
host =  redacted source =  /var/log/syslog
May 24 14:21:23 redacted laravel[19990]: production.DEBUG: this is a test from project 1 [] []
host =  redacted source =  /var/log/syslog

这些行添加了php artisan tinker - Log::debug('this is a test...');

是否可以轻松地将项目名称或某些标识符包含在日志行中,而无需修改每个Log::debugLog::error等?

我查看了文档和配置文件,但看不到任何明显的内容。

感谢。

1 个答案:

答案 0 :(得分:0)

非常简单。扩展日志类。无论在何处使用日志记录,都将use语句更改为新类。将$msg字符串附加到您需要的任何内容中。然后拨打parent::nameOfMethod($msg);

class MyLog extends Log
{
    public function debug($msg)
    {
        $msg = $msg . 'project x'; //or whatever
        return parent::debug($msg);
    }
}