- 添加Maven依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.8.0-alpha2</version>
</dependency>
- resource目录下添加log4j.properties文件
#log4j.rootLogger = [level], appenderName1, appenderName2, …
# ERROR > WARN > INFO > DEBUG
log4j.rootLogger = INFO,console,logfile
# 自定义变量配置
log.directory=E://logs
### 输出控制抬的日志 ###
# console为log4j.rootLogger中设置的appenderName,必须大小写一致
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%p] [%t] %l >>> %m%n
### 输出logFile的日志 ###
# logfile为log4j.rootLogger中设置的appenderName,必须大小写一致
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.MaxBackupIndex=50
log4j.appender.logfile.Threshold=INFO
log4j.appender.logfile.Append=true
log4j.appender.logfile.File=${log.directory}/test.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d [%p] [%t] %l >>> %m%n
### 自定义日志模块定义 ###
# 将某个模块输出独立的日志,并将这些日志从原有的日志分离出来
log4j.logger.com.pwx.test.ZkClientDemo=INFO,zkDemo
log4j.appender.zkDemo=org.apache.log4j.RollingFileAppender
# 设置不在父级别logger里面输出
log4j.additivity.zkDemo=false
log4j.appender.zkDemo.MaxFileSize=10MB
log4j.appender.zkDemo.MaxBackupIndex=50
log4j.appender.zkDemo.Threshold=INFO
log4j.appender.zkDemo.File=${log.directory}/zkDemo.log
log4j.appender.zkDemo.layout=org.apache.log4j.PatternLayout
log4j.appender.zkDemo.layout.ConversionPattern=%d [%p] [%t] %l >>> %m%n
# 开源库的日志输出控制
log4j.logger.org.apache.zookeeper=error
- 测试
@Test
public void getData() throws Exception
{
byte[] data = zkClient.getData(WATCH_PATH, false, null);
LOGGER.info("Read znode data: {}", new String(data));
}
运行效果: