1.配置文件生成日志文件。
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
2.java代码生成日志文件。
public class LoggerTool{
private static Logger logger;
private static String filepath;
public LoggerTool(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)Level.INFO);
logger.info(msg);
appender.close();
}
public Logger getLogger() {
return logger;
}
public static void main(String[] args){
new LoggerTool("D:\\test\\vcmslog");
LoggerTool.infoMsg("aaa","啊哈哈哈哈哈哈哈");
LoggerTool.infoMsg("wang","啦啦啦啦啦阿拉拉了");
}
}