Как я могу найти местоположение файла журнала log4j? Я пробовал это: где я могу программно найти, где хранятся файлы журнала log4j?
Но он не работает для более новых версий log4j.
Я создаю файл с системной датой внутри него, но когда я получаю путь, метка времени изменилась бы.
Если вы настроили приложение следующим образом:
<File name="Technical"
fileName="app/${date:yyyy-MM-dd HHmmss}/logTechnical.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</File>
Вы можете получить каталог следующим образом:
import java.io.File;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.appender.FileAppender;
import org.apache.logging.log4j.core.config.Configuration;
...
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
Configuration config = ctx.getConfiguration();
FileAppender techical = (FileAppender) config.getAppender("Technical");
File dir = new File(techical.getFileName().replaceFirst("[^\\/]+$", ""));