log4j: ¿Cómo usar SocketAppender?

Tengo una respuesta sobre cómo usar SocketAppender (lo necesito para recostackr registros del sistema distribuido), pero soy nuevo en log4j y no tengo idea de cómo usar ese código de muestra.

Probablemente debería tener log4j-server.properties así:

log4j.appender.SERVER=org.apache.log4j.net.SocketAppender log4j.appender.SA.Port=4712 log4j.appender.SA.RemoteHost=loghost log4j.appender.SA.ReconnectionDelay=10000 

Pero todavía no sé cómo iniciar el servidor (cómo usar esta línea)

org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties

Y qué es lo más importante: dónde \ ¿Cómo puedo ver mis registros?

Puede ejecutar el servidor usando

 java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties 

SimpleSocketServer recibe los eventos de registro enviados al número de puerto especificado por el SocketAppender remoto, y los registra como si se hubieran generado localmente , de acuerdo con la configuración que usted proporciona en log4j-server.properties . Depende de usted configurar los astackdores 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 está creando archivos de registro 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 

luego lo cambiaría para que el lado de envío log4j.properties simplemente diga

 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 servidor log4j-server.properties contiene las definiciones que anteriormente estaban 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 un diseño en el 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 realizar el diseño.

Para iniciar el servidor, escriba simple debajo del comando en el símbolo del sistema y el servidor estará en funcionamiento:

java -classpath C: Users.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties

No olvide especificar la ruta correcta de log4j.jar en su sistema.

    Intereting Posts