如果不像在log4j.xml中设定日志输出,那么可以根据需要把设定信息放在一个合适的位置,或者在程序中动态改变设定信息。
Logger logger = null;
FileAppender appender = null;
try {
//生成新的Logger。
//如果已经有了一个Logger实例返回现有的。
logger = Logger.getLogger(loggerName);
//清空Appender。特别是不想使用现存实例时一定要初期化。
logger.removeAllAppenders();
//设定Logger级别。
logger.setLevel(level);
//设定是否继承父Logger。
//默认为true。继承root输出。
//设定false后将不输出root。
logger.setAdditivity(additivityFlag);
//生成新的Appender
appender = new FileAppender(new PatternLayout(pattern), logPath);
appender.setEncoding(encode);
appender.setAppend(true);
//将Appender添加到Logger
logger.addAppender(appender);
return logger;
} catch (IOException e) {
printStackTraceToLogFatal(e);
throw new MedicalException("createLogger IOException.", e);
}
Logger logger = null;
FileAppender appender = null;
try {
//生成新的Logger。
//如果已经有了一个Logger实例返回现有的。
logger = Logger.getLogger(loggerName);
//清空Appender。特别是不想使用现存实例时一定要初期化。
logger.removeAllAppenders();
//设定Logger级别。
logger.setLevel(level);
//设定是否继承父Logger。
//默认为true。继承root输出。
//设定false后将不输出root。
logger.setAdditivity(additivityFlag);
//生成新的Appender
appender = new FileAppender(new PatternLayout(pattern), logPath);
appender.setEncoding(encode);
appender.setAppend(true);
//将Appender添加到Logger
logger.addAppender(appender);
return logger;
} catch (IOException e) {
printStackTraceToLogFatal(e);
throw new MedicalException("createLogger IOException.", e);
}