0
에 로그인 나는이 메소드를 호출 다른 파일에 로그인 할 수 있습니다 :의 log4j : log4j를 사용하여 다른 파일
Logger.getLogger("test")
테스트 log4j.properties에 정의 된 펜더입니다. log4j2를 사용하여 다른 파일에 어떻게 로그인합니까? 이건 내 설정 파일 내가 어디에서 로그인하는 프로그램을 선택합니다 :
<Properties>
<Property name="log-path">C:/logs</Property>
</Properties>
<Loggers>
<Logger name="it.mypackage" level="debug" additivity="false">
<appender-ref ref="file" level="debug" />
<appender-ref ref="file2" level="error" />
</Logger>
</Loggers>
<Appenders>
<!-- file.log -->
<RollingFile name="file" fileName="${log-path}/file.log" filePattern="${log-path}/file-%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
</Policies>
</RollingFile>
<!-- file2.log -->
<RollingFile name="file2" fileName="${log-path}/file2.log" filePattern="${log-path}/file2-%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
</Policies>
</RollingFile>
</Appenders>
[솔루션] 아 예, 로거 누락 :
<Properties>
<Property name="log-path">C:/logs</Property>
</Properties>
<Loggers>
<Logger name="logger1" level="debug" additivity="false">
<appender-ref ref="file" level="debug" />
</Logger>
<Logger name="logger2" level="debug" additivity="false">
<appender-ref ref="file" level="debug" />
<appender-ref ref="file2" level="error" />
</Logger>
</Loggers>
<Appenders>
<!-- file.log -->
<RollingFile name="file" fileName="${log-path}/file.log" filePattern="${log-path}/file-%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
</Policies>
</RollingFile>
<!-- file2.log -->
<RollingFile name="file2" fileName="${log-path}/file2.log" filePattern="${log-path}/file2-%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
</Policies>
</RollingFile>
</Appenders>
을
다음과 같이 로거를 선택할 수 있습니다.
private static Logger logger = LogManager.getLogger("logger1");
당신은 오직 하나의 로거 만 가지고 있습니다. 그래서 정말 선택의 여지가 없습니다. 나는 무엇인가 놓치고 있습니까? – Fildor
나는 여기에서 찾을 수있는 모든 대답을 생각한다 : https://logging.apache.org/log4j/2.0/faq.html –