log4j集群日志收集

1. 服务端

   配置文件log4j-server.properties, 其中的[%X{ip}]是自定义的客户端ip,稍后在客户端那给出输入的方法

#socket的日志
log4j.logger.org.apache.log4j=ERROR,file

#下面这个开头必须和客户端一致
log4j.logger.com.test=DEBUG,testA
log4j.logger.com.product=DEBUG,productA


#Define how the socket server should store the log events
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/socket.log
log4j.appender.file.encoding=UTF-8
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

log4j.appender.testA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.testA.File=logs/testA.log
log4j.appender.testA.encoding=UTF-8
log4j.appender.testA.Append=true
log4j.appender.testA.layout=org.apache.log4j.PatternLayout
log4j.appender.testA.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

log4j.appender.productA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.productA.File=logs/productA.log
log4j.appender.productA.encoding=UTF-8
log4j.appender.productA.Append=true
log4j.appender.productA.layout=org.apache.log4j.PatternLayout
log4j.appender.productA.layout.ConversionPattern=[%X{ip}][%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} [%C : %M : %L]:%m%n

   启动- 端口9898

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

   

   后台启动

nohup java -classpath log4j-1.2.16.jar org.apache.log4j.net.SimpleSocketServer 9898 log4j-server.properties 2>&1 &

2.客户端

   配置log4j.properties 

#可以多个append,本地加远程
log4j.logger.com.test=DEBUG,localTestA,socket
log4j.logger.com.prodcut=DEBUG,localProductA,socket

log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.Port=9898
log4j.appender.socket.RemoteHost=192.168.0.1
log4j.appender.socket.ReconnectionDelay=10000

  代码,在应用启动的地方,写入本机ip参数

try {
	MDC.put("ip", InetAddress.getLocalHost().getHostAddress().toString());
} catch (UnknownHostException e) {
	log.error("获取本机ip失败");
}

3. 完成,愉快的查看日志吧

猜你喜欢

转载自lnx.iteye.com/blog/2088058