Ich stehe vor einigen Problemen mit der Konfiguration von Monolog für "verschachtelte Protokollierer".Monolog: Protokollieren verschiedener Kanäle und mehrerer Handler zu gruppierten Protokolldateien + dedizierten Protokolldateien
Was ich tun möchte:
Log von Dienstleistungen für spezielle Dateien (eine pro-Dienst) UND von allen Dienstleistungen in einer Datei. Jeder Logger sollte auch von monolog.handlers.console
behandelt werden.
Warum will ich
Jeder Dienst Logik zu tun hat, aber auch andere Leistungen von DI verwenden kann. Ich möchte wissen, was genau ein Dienst protokolliert, daher möchte ich für jeden Dienst eine dedizierte Protokollfunktion (mit benutzerdefiniertem Kanal und benutzerdefinierter Protokolldatei). Aber Wenn Dienste auf andere Dienste angewiesen sind, möchte ich Protokolle in chronologischer Reihenfolge in einer Datei lesen.
Was ich habe
app/config.yml
:
monolog:
handlers:
my_handler:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.my.log
level: info
handler: my_bundle_handler
src/My/Bundle/Resources/config/config.yml
services:
# LOGGERS
my_logger:
class: Symfony\Bridge\Monolog\Logger
arguments: [my_logger]
calls:
- [pushHandler, [@monolog.handler.console]]
- [pushHandler, [@my_bundle_handler]]
tags:
- { name: monolog.logger, channel: my_channel}
# HANDLERS
my_bundle_handler:
abstract: true # Without it it will throw exception
type: group
members: [my_service_handler]
channels: ["my_channel"]
tags:
- { name: log_handler }
my_service_handler:
class: Monolog\Handler\StreamHandler
arguments: [%kernel.logs_dir%/%kernel.environment%.my_service.log, 100]
channels: ["my_channel"]
tags:
- { name: log_handler }
Es funktioniert nicht wie erwartet. Es protokolliert zu my_service.log
, aber nicht zu my.log
.
Gibt es die Möglichkeit zu erreichen, was ich will?
Haben Sie das Problem gelöst? –
Noch nicht, ich hatte nicht genug Zeit, um damit zu experimentieren. – Wirone
Es wird Ihr Problem nicht lösen, aber können Sie einige Zeit sparen und Log-Handling Erfahrung zu verbessern, versuchen Sie https://www.loggly.com/ – lchachurski