Sie diese mit Kanälen erreichen können.
Der benutzerdefinierte Kanal konnte erstellt werden (in diesem Fall user_channel
). Der Handler user_handler
wird erstellt, der nur Datensätze für die user_channel
protokolliert. Im Controller wird der spezifische Logger für einen Kanal angefordert. Alles, was mit diesem Logger protokolliert wird, wird unter user_channel
angezeigt. user_handler
werden nur diese Nachrichten in die Protokolldatei übertragen.
# app/config/config.yml
monolog:
channels: ['user_channel']
handlers:
user_handler:
level: debug
type: stream
path: '%kernel.logs_dir%/user.log'
channels: ['user_channel']
main:
level: debug
type: stream
path: '%kernel.logs_dir%/log.log'
channels: ['!user_channel'] #In case you don't want other handler to receive user_channel messages
Dann in der Steuerung können Sie direkt auf den Log-Handler zugreifen.
public function indexAction(){
$logger = $this->get('monolog.logger.user_channel');
$logger->debug('User {X} is logout');
}
Die Protokolleinheit wird in '%kernel.logs_dir%/user.log'
geschrieben.