log4j日志服务器配置

可参考的文章:

http://www.jb51.net/article/89597.htm

http://www.jb51.net/article/41001.htm

http://liuzhijun.iteye.com/blog/1746571

http://www.jb51.net/article/116526.htm

run.sh

#!/bin/sh
export JAVA_HOME=/usr/local/jdk1.8.0_92
export CLASSPATH=$JAVA_HOME/lib.tools.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
java -cp ./log4j-1.2.16.jar org.apache.log4j.net.SocketServer 9999 config 1>&2 > /root/logserver/logs/logserver.log &

具体的配置在config下面

socketserver.properties

log4j.rootCategory=debug,lgserver
log4j.rootLogger=DEBUG,lgserver

#tool
#log4j.appender.lgserver=org.apache.log4j.lf5.LF5Appender 
#log4j.appender.lgserver.MaxNumberOfRecords=700
#console
log4j.appender.lgserver=org.apache.log4j.ConsoleAppender

log4j.appender.lgserver.layout=org.apache.log4j.PatternLayout
log4j.appender.lgserver.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}][%5p][%5t][%l] %m%n

  

client下面是每个模块具体的配置文件配置

在logservers/config/client 目录下添加一个命名为 customer.properties 文件 文件名称与你在客户端配置的
log4j.appender.test.application=customer名称相同

customer.properties

log4j.rootLogger=debug,test

log4j.appender.test=org.apache.log4j.RollingFileAppender
log4j.appender.test.File=/home/ismp/logs/user.log
log4j.appender.test.Encoding=UTF-8
log4j.appender.test.MaxFileSize=1GB
log4j.appender.test.MaxBackupIndex=50
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=%d %p [%t][%c{1}:%L] - %m%n

 此处配置作用是log4j服务器把客户端送过来的信息 按照现在的配置模式输出日志,日志模式跟此处配置有关,与客户端原有配置没有关系
此处要没有配置 相应的文件,就会默认 执行 default.properties 文件 

客户端配置

log4j.rootCategory=debug, test

log4j.appender.test=org.apache.log4j.net.SocketAppender
#发送过去的参数
log4j.appender.test.application=customer
#IP
log4j.appender.test.RemoteHost=192.168.115.74
#端口号
log4j.appender.test.Port=9999
log4j.appender.test.LocationInfo=true

log4j.category.org.apache.zookeeper=error
log4j.category.org.springframework=error
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=%d %p [%c:%L] - %m%n

将log4j日志发送到远程服务器上

[root@minion5 conf]# cat log4j.properties 
log4j.rootCategory=debug, product

log4j.appender.product=org.apache.log4j.net.SocketAppender
log4j.appender.product.application=hborder //hborder应用
log4j.appender.product.RemoteHost=127.0.0.1(某台远程机地址)
log4j.appender.product.Port=9999
log4j.appender.product.LocationInfo=true

log4j.category.org.apache.zookeeper=error
log4j.category.org.springframework=error
log4j.category.org.hibernate=error

log4j.appender.product.layout=org.apache.log4j.PatternLayout
log4j.appender.product.layout.ConversionPattern=%d %p [%c:%L] - %m%n

 
[root@minion5 conf]# cat log4j.properties 
log4j.rootCategory=debug, sps

log4j.appender.sps=org.apache.log4j.net.SocketAppender
log4j.appender.sps.application=spsInterface
log4j.appender.sps.RemoteHost=127.0.0.1(某台远程机地址)
log4j.appender.sps.Port=9999 log4j.appender.sps.LocationInfo=true log4j.category.org.apache.zookeeper=error 
log4j.category.org.springframework=error
log4j.appender.sps.layout=org.apache.log4j.PatternLayout
log4j.appender.sps.layout.ConversionPattern=%d %p [%c:%L]
log4j.rootCategory=debug, crm

log4j.appender.crm=org.apache.log4j.net.SocketAppender
log4j.appender.crm.application=crmInterface
log4j.appender.crm.RemoteHost=127.0.0.1
log4j.appender.crm.Port=9999
log4j.appender.crm.LocationInfo=true

log4j.category.org.apache.zookeeper=error
log4j.category.org.springframework=error
log4j.appender.crm.layout=org.apache.log4j.PatternLayout

 

[root@minion5 conf]# cat log4j.properties 
log4j.rootCategory=debug, agent

log4j.appender.agent=org.apache.log4j.net.SocketAppender
log4j.appender.agent.application=agentInterface
log4j.appender.agent.RemoteHost=172.51.1.31
log4j.appender.agent.Port=9999
log4j.appender.agent.LocationInfo=true

log4j.category.org.apache.zookeeper=error
log4j.category.org.springframework=error
log4j.appender.agent.layout=org.apache.log4j.PatternLayout
log4j.appender.agent.layout.ConversionPattern=%d %p [%c:%L] - %m%n

 

[root@minion5 conf]# cat log4j.properties 
log4j.rootCategory=info, product

log4j.appender.product=org.apache.log4j.net.SocketAppender
log4j.appender.product.application=contract//contract应用
log4j.appender.product.RemoteHost=127.0.0.1
log4j.appender.product.Port=9999
log4j.appender.product.LocationInfo=true

log4j.category.org.apache.zookeeper=error
log4j.category.com.dangdang.ddframe=error
log4j.category.org.springframework=error
log4j.appender.product.layout=org.apache.log4j.PatternLayout

  

 

 

参考:http://ju.outofmemory.cn/entry/31929

1.服务端配置

1)服务端配置文件log4j-server.properties

#Define a narrow log category. A category like debug will produce some extra logs also from server itself
log4j.rootLogger=ERROR, file

#Define how the socket server should store the log events
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application-error.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
2)服务端启动监听

java -classpath c:log4j-1.2.17.jar     org.apache.log4j.net.SimpleSocketServer
 c:log4j-server.properties
注意,log4j-1.2.17.jar和配置文件都放在C盘,具体指定好位置即可,4712是监听的端口号。

2.客户端配置

1)客户端配置文件log4j.properties

#Define the log4j configuration for local application
log4j.rootLogger=ERROR, server

#We will use socket appender
log4j.appender.server=org.apache.log4j.net.SocketAppender

#Port where socket server will be listening for the log events
log4j.appender.server.Port=4712

#Host name or IP address of socket server
log4j.appender.server.RemoteHost=localhost

#Define any connection delay before attempting to reconnect
log4j.appender.server.ReconnectionDelay=10000
2)代码中使用

private static final Logger logger = LoggerFactory.getLogger(xx.class);
logger.error("test name:{}",guolei);
3.其他注意点

由于我们在项目中并不是要将所有的日志全部发送到远程服务器,而只是发送部分类中的,需要做特殊配置。如下:

log4j.logger.com.wanmei.marketing.RuleShowAction=INFO,server

 注意这三个类的使用,可以百度下

 org.apache.log4j.net.SimpleSocketServer  org.apache.log4j.net.SocketAppender 

分模块划分参考

http://blog.csdn.net/mr_zhuqiang/article/details/45668797

模块名的命名:log4j.appender.模块名.属性。

原文地址:https://www.cnblogs.com/JAYIT/p/7049131.html