1.首先把jar包导入项目的lib下
这里jar包用的是1.2.17版本的
链接:https://pan.baidu.com/s/17JKu4qjEIpyXKn-Lo4IeVQ
提取码:w1im
有需要的可以去我的百度网盘下载
2.配置文件的配置
首先建立一个配置文件- log4j.properties
其配置内容如下:
log4j.rootLogger = debug,stdout,file
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 输出到日志文件 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
###设置DatePattern,当天日志保存到log.log文件,前一天的日志文件名将被修改为log.log + _yyyy-MM-dd.log
log4j.appender.file.File =D/logs/log.log
log4j.appender.file.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.file.Append = true
## 输出DEBUG级别以上的日志
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3.进行测试
public class Test {
private static Logger logger;
private static String filepath;
public Test(String path){ //path:日志保存路径
filepath=path;
new File(filepath).mkdir(); //创建文件夹
}
public static void infoMsg(String filename,String msg){ //filename:生成日志的文件名 msg:日志信息
logger = Logger.getLogger("_"+filename);
DailyRollingFileAppender appender=new DailyRollingFileAppender();
appender.setFile(filepath+"/"+filename+".log");
appender.setDatePattern("'.'yyyy-MM-dd");
PatternLayout layout=new PatternLayout("%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS}%c %m%n");
appender.setLayout(layout);
appender.setAppend(true);
appender.activateOptions();
logger.addAppender(appender);
logger.setAdditivity(false);
logger.setLevel(Level.INFO);
logger.info(msg);
appender.close();
}
public Logger getLogger() {
return logger;
}
public static void main(String[] args){
new Test("E:\\test\\vcmslog");
Test.infoMsg("aaa","啊哈哈哈哈哈哈哈");
Test.infoMsg("aaa","22222");
Test.infoMsg("aaa","啊哈333333哈哈哈哈");
Test.infoMsg("wang","啦啦啦啦啦阿拉拉了");
}
}
运行后效果如下:
测试成功!
下面用到实例里:
//日志-声明以及创建调用方法
private static Logger logger;
private static String filepath;
public void setLog(String path) { //path:日志保存路径
filepath=path;
new File(filepath).mkdir(); //创建文件夹
}
public static void infoMsg(String filename,String msg){ //filename:生成日志的文件名 msg:日志信息
logger = Logger.getLogger("_"+filename);
DailyRollingFileAppender appender=new DailyRollingFileAppender();
appender.setFile(filepath+"/"+filename+".log");
appender.setDatePattern("'.'yyyy-MM-dd");
PatternLayout layout=new PatternLayout("%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS}%c %m%n");
appender.setLayout(layout);
appender.setAppend(true);
appender.activateOptions();
logger.addAppender(appender);
logger.setAdditivity(false);
logger.setLevel(Level.INFO);
logger.info(msg);
appender.close();
}
public Logger getLogger() {
return logger;
}
打印日志就只需要调用方法就可以了
打印出来的文件如下:
带日期的是昨天打印出来的日志文件,不带日期的是今天打印的。
也就是说一天一个日志文件,会自动把之前的日志文件名字后面加上之前那一天的日期。肥肠nice~
搞定!