我在服务器上运行多个Laravel项目。它们都转到系统日志(转到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::debug
、Log::error
等?
我查看了文档和配置文件,但看不到任何明显的东西。
谢谢。
很简单。扩展日志类。将 use 语句更改为使用日志记录的新类。在$msg
字符串后附加您需要的任何内容。然后打电话parent::nameOfMethod($msg);
class MyLog extends Log
{
public function debug($msg)
{
$msg = $msg . 'project x'; //or whatever
return parent::debug($msg);
}
}