Я новый пользователь log4j2. На основе введения Log4j2 * тестов производительности , и может потребоваться создание большого количества файлов csv для обработки данных. Я планирую перенести проект с JUL на log4j2. Это многопоточный проект, в котором используется множество логгеров. Но результаты тестов не вызывают нареканий. Где я ошибся? результаты сравнения
Конфигурация зависимости выглядит следующим образом:
<!-- Log4j2 api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</dependency>
<!-- Log4j2 impl.-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
<!-- for Log4j2 asynchronous logging-->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.2</version>
</dependency>
<!-- for Log4j2 csvlayout-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.5</version>
</dependency>
Файл «log4j2. xml» имеет несколько похожих приложений и регистраторов, например: частичная конфигурация для log4j2. xml
Java соответствующий код выглядит следующим образом:
System.setProperty("log4j2.isThreadContextMapInheritable", "true");
String renameCsvFile = new String( inputDir.getName() + StaticUtils.SEPARATOR +"log"+ StaticUtils.SEPARATOR + "rename");
ThreadContext.put("module3", renameCsvFile);
rename_logger = LogManager.getLogger("myrenamelog");
rename_logger.info("rename logging", "Timestamp","Level", "OrignalPath","RenamedPath","Status", "Message", "Layer#", "Thread#");
rename_logger.info("rename logging...", Instant.now(),"info",file.getAbsolutePath(),newName.getAbsolutePath(),"success"," ","Layer#",Thread.currentThread().getName());