我登录内部目录,但也登录外部(可移动)SD卡(如果有的话)。
我将log4j配置两次,但只考虑一个。
Tools.configureLog4J(extLoggerpath);
if (Params.tagFgDebug && fgDebugLocal){Log.i(Params.tagGen, " extLoggerpath = " + extLoggerpath);};
externalLogger = Logger.getLogger(Baseline.class);
Tools.configureLog4J(loggerPath);
if (Params.tagFgDebug && fgDebugLocal){Log.i(Params.tagGen, " loggerPath = " + loggerPath);};
internalLogger = Logger.getLogger(Baseline.class);
两者都可以,但不能在一起,所以我的配置是原因。我做错了什么,我应该如何配置2个文件?
public static void configureLog4J(String logDirectory){
LogConfigurator logConfigurator = new LogConfigurator();
StringBuilder stringBuilder = new StringBuilder(logDirectory + File.separator);
stringBuilder.append(new SimpleDateFormat("yyyyMMdd_").format(Calendar.getInstance().getTime()));
stringBuilder.append("android_log.txt");
logConfigurator.setFileName(stringBuilder.toString());
logConfigurator.setRootLevel(Level.DEBUG);
// Set log level of a specific logger
logConfigurator.setLevel("org.apache", Level.ALL);
logConfigurator.setUseFileAppender(true);
logConfigurator.setMaxFileSize(1024 * 1024 * 5);
logConfigurator.setImmediateFlush(true);
logConfigurator.configure();
}
编辑:我运行更多测试。如果我切换配置调用的顺序,则会产生这样的结果:它始终是最后一个实际工作的配置。那么如何为android-logging-log4j设置2个文件呢?
(面对这个问题,我废弃了两个库,android-logging-log4j和log4j,我只是写入文件。但我仍然对此问题感兴趣)