/**
* log4j.logger.oaReceviceBudgetApproveStatusTaskServiceLog=info, stdout, oaReceviceBudgetApproveStatusTaskService
* log4j.additivity.oaReceviceBudgetApproveStatusTaskServiceLog = true
* log4j.appender.oaReceviceBudgetApproveStatusTaskService= org.apache.log4j.DailyRollingFileAppender
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.File=../BytterLogs/oaReceviceBudgetApproveStatusTaskService.log
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.DataPattern='.'yyyy-MM-dd
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.Append=true
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.Threshold=INFO
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.layout=org.apache.log4j.PatternLayout
* log4j.appender.oaReceviceBudgetApproveStatusTaskService.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SS} [%t] %-5p [%c] - %m%n
*/
public static Logger log = Logger.getLogger("oaReceviceBudgetApproveStatusTaskServiceLog");
static {
//日志级别
log.setLevel(Level.INFO);
//是否在父日志中输出日志
log.setAdditivity(true);
// 清空Appender。必须,不然会随着执行次数重复打印日志信息
log.removeAllAppenders();
FileAppender appender = new DailyRollingFileAppender();
//设置日志输出路径
appender.setFile("../BytterLogs/oaReceviceBudgetApproveStatusTaskService/oaReceviceBudgetApproveStatusTaskService.log");
//设置编码格式
appender.setEncoding("UTF-8");
appender.setAppend(true);
PatternLayout patternLayout = new PatternLayout();
//设置每天生产日志文件
patternLayout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c - %F(%L) | %m%n");
appender.setLayout(patternLayout);
//这句启动配置记得加,不加会报 ERROR No output stream or file set for the appender 的错误,源码中在这方法里将文件名转为对应的输出流
appender.activateOptions();
log.addAppender(appender);
}