Puede ejecutar el servidor utilizando
java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
El SimpleSocketServer
recibe eventos de registro enviado al número de puerto especificado por el mando a distancia SocketAppender
, y los registra como si ellos fueron generados localmente, de acuerdo con la configuración que suministro en log4j-server.properties
. Depende de usted configurar los apiladores de archivo de consola/archivo/rolling relevantes y adjuntarlos a los registradores relevantes de la misma forma que lo haría si estuviera haciendo el registro directamente en el proceso original en lugar de canalizar los eventos de registro a través de un socket de red. Es decir. si actualmente la creación de archivos de registro de locales con algo como:
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
entonces tendría que cambiar para que el lado emisor log4j.properties
simplemente dice
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
y el lado del servidor log4j-server.properties
contiene las definiciones que fueron previamente en el lado de envío:
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 particular, tenga en cuenta que no tiene sentido especificar una disposición en la SocketAppender
en el lado de envío: lo que pasa por la red es el objeto de evento de registro completo, es el lado de recepción el responsable de hacer el diseño.
Se llaman argumentos de línea de comandos. – Woot4Moo