我的Laravel应用程序支持多个domains。我希望每个域都记录到不同的文件,因为它们都很忙碌,记录了很多消息。
现在,我正在使用这行代码
config(['logging.default' => 'app-1']);
在每个entry point
[1]中,对于一个名为app-1
的给定域,以及每个独特应用程序的类似代码行。
当然,我必须在config/logging.php
中有一个部分来定义每个这样的特定于域的通道。域的数量足够小,并且很少更改,所以这不是问题。
但我觉得这有点古怪。有没有更好的方法呢?
[1]:我必须在任何执行的顶级方法中使用这样一行代码,因此一个域中的每个Controller、每个Command和每个Job(至少)都必须使用这一行代码来为所有对Log::xxx()
的后续调用设置default
日志记录通道。
1条答案
按热度按时间1szpjjfi1#
如果你需要为每个请求做一些事情,中间件通常是答案。所以通过运行
artisan make:middleware DomainLogger
创建一个中间件。编辑它看起来像这样:然后在
app\Http\Kernel.php
中注册