1、引言
由于使用BaseBean打印日志输出到系统默认的日志路径下日志过大,特此总结了E9下自定义日志输出路径。
2、配置方式
2.1、修改配置文件
文件路径:/weaver/ecology/WEB-INF/log4jinit.properties
在文件最后增加配置信息:
log4j.logger.weavernorth=INFO,ERROR,weavernorth
log4j.appender.weavernorth=org.apache.log4j.DailyRollingFileAppender
log4j.appender.weavernorth.DatePattern='_'yyyyMMdd'.log'
#@custom为日志目录名称,weavernorth.log为日志名称
log4j.appender.weavernorth.File=@wncustom/weavernorth.log
log4j.appender.weavernorth.layout=org.apache.log4j.PatternLayout
log4j.appender.weavernorth.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %-5p [Thread\:%t] %m%n
log4j.additivity.weavernorth=false
3、引入自定义工厂类文件
package com.weavernorth;
import weaver.integration.logging.Log4JLogger;
import weaver.integration.logging.Logger;
/**
* @Classname LoggerFactory
* @Description TODO
* @Version 1.0.0
* @Date 2023/4/11 9:02
* @Created by 刘立华
*/
public class LoggerFactory_wn {
private static final String loggerName = "weavernorth";
public LoggerFactory_wn() {
}
public static Logger getLogger(String loggerName, String className) {
if ("".equals(loggerName)) {
loggerName = "weavernorth";
}
Log4JLogger var2 = new Log4JLogger();
var2.setClassname(className);
var2.init(loggerName);
return var2;
}
public static Logger getLogger(Class classe) {
return getLogger("weavernorth", classe.getCanonicalName());
}
public static Logger getLogger(String className) {
return getLogger("weavernorth", className);
}
public static Logger getLogger() {
String className = Thread.currentThread().getStackTrace()[2].getClassName();
return getLogger("weavernorth", className);
}
}
4、调用方法
import com.weavernorth.LoggerFactory_wn;
import weaver.integration.logging.Logger;
@Test
public void testCustomLog() {
Logger log = LoggerFactory_wn.getLogger(Test1.class);
log.info("这个是测试自定义的日志打印");
}