Я столкнулся с проблемой, связанной с ведением журнала, когда сообщения журнала приложения A записываются в файл журнала приложения B.
Приложения A и B работают на одном и том же экземпляре IBM WebSphere Application Server V9.
Приложение A использует пружинный каркас и log4j2.
Приложение B использует пружинную загрузку и вход в систему.
Код в приложении A:
Немногие java-классы в Приложении A используют java util logger, и немногие используют log4j logger.
Только сообщения журнала java uti записываются в файл журнала приложения B.
import java.util.logging.Logger;
public class Utility {
private static final Logger LOGGER = Logger.getLogger(Utility.class.getName());
......
someMethod() {
LOGGER.info("some message from Application A");
}
......
код в приложении B,
Все классы Java в этом приложении используют регистратор, как показано ниже
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
....
public class PNMapingController {
private static final Logger LOGGER = LoggerFactory.getLogger(PNMapingController.class);
.....
someMethod() {
LOGGER.info("some message from Application B");
}
.....
Конфигурационный файл журнала приложения B,
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="LOG_FILE" value="${LOG_PATH}/JOB.log"/>
<property name="FILE_LOG_PATTERN" value="%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger{36}.%M - %msg%n"/>
<springProfile name="dev">
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<appender name="ROLLING-FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ROLLING-FILE"/>
</root>
</springProfile>
</configuration>
LOG_PATH устанавливается в файле свойств приложения
Таким образом, я могу видеть сообщения журнала из Приложения A, «некоторые сообщения из Приложения A» в JOB.log (который принадлежит Приложению B).