2017-09-18 1 views
0

내가 궁금한 건을 트리거 :log4j2이 appender 변화 rollingfilename이 때

표준 log4j2.xml 파일을 기반으로

, 내가 전환 할 때 이전 파일에 "완료"문자열을 삽입 할 새로운 것. 같은

뭔가 : "로그/앱 09-18-2017_Completed.log"

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
    <RollingFile name="RollingFile" fileName="logs/app.log" 
     filePattern="logs/app-%d{MM-dd-yyyy}.log" 
     <PatternLayout> 
      <Pattern>%m%n</Pattern> 
     </PatternLayout> 
     <TimeBasedTriggeringPolicy /> 
    </RollingFile> 
    <Console name="STDOUT" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%m%n"/> 
    </Console> 
</Appenders> 
<Loggers> 
    <Root level="error"> 
     <AppenderRef ref="SYSTEM_OUT"/> 
     <AppenderRef ref="RollingFile"/> 
    </Root> 
</Loggers> 
</Configuration> 

답변

0

Chaing 치는 filePattern

<RollingFile name="RollingFile" fileName="logs/app.log" 
     filePattern="logs/app_completed-%d{MM-dd-yyyy}.log"> 

에 도움한다. 패턴을 DateFormat %d 또는 정수 카운트 %i이 대체 된 문자열로 처리하기 때문에.

+0

nullpointer, 답변 해 주셔서 감사합니다. 가장 중요한 부분을 잊어 버렸습니다. 삽입 된 문자열은 "Completed-HHmmss"여야합니다. 그리고 – Zeev

+0

nullpointer, 매우 신속한 답변을 주셔서 감사합니다. 가장 중요한 부분을 잊어 버렸습니다. 삽입 된 문자열은 "Completed-HHmmss"여야합니다. 그리고 완료되기 전에, 현재 파일 "logs/app-MM-dd-yyy.log"는 보통 'tail -f'(리눅스 워크 스테이션)로 작성되는 동안 읽을 수 있어야합니다. – Zeev

+0

* 현재 파일 "logs/app-MM-dd-yyy.log"는 응용 프로그램에서 기록되는 디렉토리에있는 파일과 함께 가능한 'tail -f'*로 작성되는 동안 읽을 수 있어야합니다. – nullpointer