socketServer.properties
log4j.rootLogger=DEBUG,A1,A3,E,W,I,D #测试基于包的日志输出 log4j.logger.com.log4j.test=DEBUG,PKG log4j.appender.A1=org.apache.log4j.lf5.LF5Appender log4j.appender.A1.MaxNumberOfRecords=700 log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender log4j.appender.A4.file=d://log//d.log log4j.appender.A4.DatePattern='.'yyyyMMdd log4j.appender.A4.layout=org.apache.log4j.PatternLayout log4j.appender.A4.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.A3=org.apache.log4j.RollingFileAppender log4j.appender.A3.file=d://log//r.log log4j.appender.A3.MaxFileSize=1024KB log4j.appender.A3.MaxBackupIndex=999 log4j.appender.A3.layout=org.apache.log4j.PatternLayout log4j.appender.A3.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.E=org.apache.log4j.RollingFileAppender log4j.appender.E.file=d://log//error.log log4j.appender.E.MaxFileSize=1024KB log4j.appender.E.MaxBackupIndex=999 #输出ERROR级别以上的日志 log4j.appender.E.Threshold=ERROR log4j.appender.E.layout=org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.W=org.apache.log4j.RollingFileAppender log4j.appender.W.file=d://log//warn.log log4j.appender.W.MaxFileSize=1024KB log4j.appender.W.MaxBackupIndex=999 #输出WARN级别以上的日志 log4j.appender.W.Threshold=WARN log4j.appender.W.layout=org.apache.log4j.PatternLayout log4j.appender.W.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.I=org.apache.log4j.RollingFileAppender log4j.appender.I.file=d://log//info.log log4j.appender.I.MaxFileSize=1024KB log4j.appender.I.MaxBackupIndex=999 #输出INFO级别以上的日志 log4j.appender.I.Threshold=INFO log4j.appender.I.layout=org.apache.log4j.PatternLayout log4j.appender.I.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n log4j.appender.D=org.apache.log4j.RollingFileAppender log4j.appender.D.file=d://log//debug.log log4j.appender.D.MaxFileSize=1024KB log4j.appender.D.MaxBackupIndex=999 #输出DEBUG级别以上的日志 log4j.appender.D.Threshold=DEBUG log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n #包对应的Appender log4j.appender.PKG=org.apache.log4j.RollingFileAppender log4j.appender.PKG.file=d://log//pkg.log log4j.appender.PKG.MaxFileSize=1024KB log4j.appender.PKG.MaxBackupIndex=999 log4j.appender.PKG.layout=org.apache.log4j.PatternLayout log4j.appender.PKG.layout.ConversionPattern=/n/n[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n客户端属性文件配置,log4j.properties
log4j.rootCategory=, A1 # A1 is set to be a LF5Appender which outputs to a swing # logging console. log4j.appender.A1=org.apache.log4j.net.SocketAppender log4j.appender.A1.RemoteHost=localhost log4j.appender.A1.Port=9001启动日志服务器:
java -cp ./log4j-1.2.15.jar org.apache.log4j.net.SocketServer 9001 socketServer.properties e:/socketTest
日志输出方式:
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
自定义的日志默认同时输出到log4j.rootLogger所配置的日志中
log4j.additivity.myTest1 = false
它用来设置是否同时输出到log4j.rootLogger所配置的日志中。
myTest1为Logger的名称,如下:
Logger logger = Logger.getLogger("myTest1");
logger.debug("debug myTest1 1....");
配置不同包的日志输出到指定的日志文件中,像下面这样:
log4j.logger.cn.com.test= DEBUG, testA
logger与rootLogger作用相同,只是rootLogger代表根。
testA为配置的Appender,可在配置过程中指定日志文件。
如何使用:
Logger loggerTest = Logger.getLogger(Main.class);
log4j.appender.W.Threshold=日志级别
用于配置输出指定级别以上的日志信息。如:如果指定为WARN,则输出WARN,ERROR级别的日志信息。
log4j常用的4个日志级别: DEBUG, INFO, WARN, ERROR。
不同的项目可以使用同一个日志服务器,通过配置不同的包对应不同的日志文件来实现。