1.先看log4j的配置文件 log4j.properties 没有此文件就在根目录下创建一个:
log4j.rootLogger=INFO,R,Client log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=./log/server.log log4j.appender.R.MaxFileSize=5MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=[%5p] %d [%X{userName}] [%X{remoteIp}] %m%n log4j.logger.Client=INFO,Client log4j.additivity.Client = false log4j.appender.Client=org.apache.log4j.RollingFileAppender log4j.appender.Client.File=./log/client.log log4j.appender.Client.MaxFileSize=5MB log4j.appender.Client.MaxBackupIndex=10 log4j.appender.Client.layout=org.apache.log4j.PatternLayout log4j.appender.Client.layout.ConversionPattern=[%5p] %d [%X{userName}] [%X{remoteIp}] %m%n
此日志文件分为两个日志文件.一个是给服务器程序记录日志,另一个是给客户端程序记录日志的.
红色部分是必须要加的.
log4j.additivity.Client = false 确保写入client.log文件信息不重复出现到server.log文件中.
log4j.logger.Client=INFO,Client 确保只对log4j的info信息感兴趣.
2.再看代码的初使化:
//加入log4j支持
static Logger logger =Logger.getLogger("Client");
public class test {
static Logger logger =Logger.getLogger("Client");
public static void main(String[] args){
logger.info("333333333");
}
}
以上来自 https://www.cnblogs.com/chenv/p/5888119.html
总结
本文的目的是为了输出指定日志到预想的文件,以达到日志分离的效果,对于一些日志打印频繁的业务可以从根日志文件拆分出来,不干扰主流程的同时也更清新的观察这些独立业务的日志。
上面 的 Client 相关的 就是单独的配置
日志依赖
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>