我目前正在一个表中记录所有与我的数据库(添加的用户,更新的用户,...)的交互。
来自我的userService的一个例子:
public function addUserAction()
{
$this->logger->alert("Added user!");
// Code that adds the user to the database (not relevant for my question)
// ...
}
public function updateUserAction($user)
{
$this->logger->alert("Updated user!");
// Code that updates the user to the database (not relevant for my question)
// ...
}
现在我想要有以下单独的表:log_added_users,log_updated_users等...
我在config.yml中配置了一个通道和一个处理程序 我已将记录器注入userService并使用我的频道标记它。
services:
userService:
class: Acme\Services\UserService
arguments: ["@logger"]
tags:
- { name: monolog.logger, channel: my_channel }
我想知道我应该在哪个表中定义添加某个日志条目?我不认为我需要更多频道,因为我只能为注入的记录器定义一个频道(如上面的配置代码段所示)
所以我想添加更多处理程序(每个db表一个)。问题是:在编写日志时,它将遍历所有处理程序,从而将相同的日志添加到所有表中?
或者我应该将updateUserAction放在另一个服务中,这样我就可以使用另一个频道了吗?
感谢任何帮助:)
答案 0 :(得分:0)
我发现,对于您创建的每个频道,都会自动为您创建服务。 所以我只是将另一个记录器注入userService并用新通道标记它们。
我可以这样说:
public function addUserAction()
{
$this->logger->alert("user added");
}
public function updateUserAction($user)
{
$this->updateLogger->alert("user updated");
}