У меня есть эта конфигурация Log4J, которая записывает сообщения журнала.Установить имя файла журнала с датой
BasicConfigurator.configure(); // Basic configuration for Log4J 1.x
ConsoleAppender console = new ConsoleAppender(); //create appender
//configure the appender
String PATTERN = "%d [%p|%c|%C{1}] %m%n";
console.setLayout(new PatternLayout(PATTERN));
console.setThreshold(Level.FATAL);
console.activateOptions();
//add appender to any Logger (here is root)
Logger.getRootLogger().addAppender(console);
DailyRollingFileAppender fa = new DailyRollingFileAppender();
fa.setName("FileLogger");
fa.setFile("log" + File.separator + "messages.log");
fa.setDatePattern("'.'yyyy-MM-dd");
fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"));
fa.setThreshold(Level.DEBUG);
fa.setAppend(true);
fa.activateOptions();
//add appender to any Logger (here is root)
Logger.getRootLogger().addAppender(fa); //repeat with all other desired appenders
У меня ошибка в конфигурации кода. Я хочу каждый день записывать новый файл журнала с датой в качестве имени. Теперь я получаю только имя message.log без даты. Можете ли вы помочь мне решить эту проблему?
Я думаю, что код в порядке. Вы не сможете проверить его до полуночи (или если вы не измените время в вашей системе). Согласно документации: «В полночь, 8 марта 2002 года, /foo/bar.log будет скопировано в /foo/bar.log.2002-03-08». – aquaraga
Как сказал aquaraga, DailyRollingFileAppender вносит изменения в имя файла, когда получает регистрацию, даже отвечающую требованию. то есть когда дата является новой, и старое имя файла журнала необходимо добавить с его датой. Вы проверили код, изменив время до полуночи? – Keerthivasan