0
我有一个文件处理JAVA代码,在处理文件时,我想记录所有的文件处理细节,如文件有这个no行,它有一个“你好”字符串在一个单独的日志文件中每个文件都在处理中。Log4j创建动态文件
我在这里试过的代码工作正常,但是如果我有2个文件,如file1.txt和file2.txt,则logger会在log_file1.log中记录file1.txt的详细信息,然后在log_file2.log中记录file2.txt还在log_file2.log中保留log_file1.log内容。
FILE1.TXT
Hello How are you
Hello How are you
log_file1.log
it has 2 lines and 2 Hello Strings
FILE2.TXT
Hello How are you
Hello How are you
Hello How are you
log_file2.log
it has 2 lines and 2 Hello Strings
it has 3 lines and 3 Hello Strings
代码我想:
public class DummyLog
{
private static PatternLayout patternLayout = new PatternLayout("%d{ISO8601}\t%p\t%c\t%m%n");
public static Logger getLogger(String fileName, Class clazz) throws Exception
{
fileName = "D:/New folder/log-properties/" + fileName + ".log";
Logger logger = Logger.getLogger(clazz);
FileAppender appender = new DailyRollingFileAppender(patternLayout,
fileName, "'.'yyyy-MM-dd");
logger.addAppender(appender);
logger.setLevel(Level.DEBUG);
return logger;
}
}
主类:
public class TestDummyLog
{
public static void main(String args[]) throws Exception
{
for(int i = 2;i > 0;i--)
{
String loggerName = "Log1_"+new SimpleDateFormat("yyyyddMMHHmmssSSS").format(new Date());
Logger logger = DummyLog.getLogger(loggerName, TestDummyLog.class);
logger.info("Joseph Micheal TestLogger:" +new SimpleDateFormat("yyyyddMMHHmmssSSS").format(new Date()));
new TestLoggerChild().getChileStuff(loggerName);
Thread.sleep(6000);
}
}
}
子类:
public class TestLoggerChild
{
public static Logger logger = null;
public void getChileStuff(String fileName) throws Exception
{
logger = DummyLog.getLogger(fileName,TestLoggerChild.class);
logger.info("Child Sample info message"+new SimpleDateFormat("yyyyddMMHHmmssSSS").format(new Date()));
logger.info("Class :::::: TestLoggerChild.class");
logger.debug("fileName @@@@@@@@@@@@@:" + fileName);
logger.info("Sample info message");
logger.warn("Sample warn message");
logger.error("Sample error message");
logger.info("Sample info message ");
logger.info("Class :::::: TestLoggerChild.class");
}
}
抱歉,您能否重新解释您对问题的描述?我没有得到它:-(你有滚动日志文件的问题? –
感谢您的回复请检查更新的说明。 – sunleo
尝试logger.setAdditivity(false) –