J'ai une réponse sur la façon d'utiliser SocketAppender (j'en ai besoin pour rassembler les journaux du système distribué), mais je suis nouveau sur log4j et je ne sais pas comment utiliser cet exemple de code.
Je devrais probablement avoir log4j-server.properties comme ça:
log4j.appender.SERVER=org.Apache.log4j.net.SocketAppender
log4j.appender.SA.Port=4712
log4j.appender.SA.RemoteHost=loghost
log4j.appender.SA.ReconnectionDelay=10000
Mais je ne sais toujours pas comment démarrer le serveur (comment utiliser cette ligne)
org.Apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
Et quel est le plus important: Où\Comment puis-je voir mes journaux?
Vous pouvez exécuter le serveur en utilisant
Java -classpath log4j.jar org.Apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
SimpleSocketServer
reçoit les événements de journalisation envoyés au numéro de port spécifié par le SocketAppender
distant, et les enregistre comme s'ils étaient générés localement, selon la configuration que vous fournissez dans log4j-server.properties
. C'est à vous de configurer les annexes de la console/du fichier/du fichier roulant et de les attacher aux enregistreurs appropriés comme vous le feriez si vous effectuiez la journalisation directement dans le processus d'origine plutôt que de canaliser les événements de journal sur une prise réseau. C'est à dire. si vous créez actuellement des fichiers journaux locaux avec quelque chose comme:
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n
alors vous le changeriez pour que le côté expéditeur log4j.properties
dit simplement
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.Apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=loghost
log4j.appender.server.ReconnectionDelay=10000
et côté serveur log4j-server.properties
contient les définitions qui étaient auparavant du côté de l'envoi:
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n
En particulier, notez qu'il est inutile de spécifier une mise en page sur le SocketAppender
du côté émetteur - ce qui passe sur le réseau est tout l'objet d'événement de journalisation, c'est le côté récepteur qui est responsable de la mise en page.
Pour démarrer la commande simple du serveur ci-dessous dans l'invite de commande et le serveur sera opérationnel:
Java -classpath C: Users.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar org.Apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
N'oubliez pas de spécifier le chemin correct de log4j.jar dans votre système.