2016-06-02 2 views
0

이름을 바꾸는 5 메가 바이트에 도달 할 때이 펜더log4j2 RollingFile 오류 파일

<RollingFile name="Application" fileName="/home/user/log/abc.log" filePattern="/var/log/mylog/abc-%d{yyy-MM-dd}-%i.log.gz"> 
      <PatternLayout> 
       <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} abc  %-10level %class{36} %L %M - %msg%xEx%n</Pattern> 
      </PatternLayout> 
      <Policies> 
       <TimeBasedTriggeringPolicy /> 
       <SizeBasedTriggeringPolicy size="5 MB" /> 
      </Policies> 
       <DefaultRolloverStrategy max="9999"/> 
    </RollingFile> 

을 가지고의/var에는 공간/로그/I 나중에 공간을 만들 경우이 mylog I 오류 "ERROR renaming file from xx to yy를 얻을 로거가 없다 파일 이름을 다시 지정하지 않습니다. 내가 어떻게 해결할 수있는 아이디어가 있니?

나는이 대답을하지 log4j2 2.2

+0

와일드 추천 : 항상 충분한 공간이 있는지 확인하십시오. 여유 공간이 5MB 미만인 것은 모든 파일 시스템에 좋은 점이 아닙니다. – Roman

답변

0

를 사용합니다. 나는 코멘트를하기에 충분한 명성이 없다.

제안 : Log4j2를 사용하면 X 일이 지난 파일을 자동으로 삭제할 수 있습니다. 나는 언젠가 이것으로 고투하고있다. 문제는 여기에 해결되었습니다 :

Log4j2 - Configure RolloverStrategy to delete old log files

은 어쩌면이 당신을 위해 도움이 될 것입니다.

0

FailoverAppender를 구성하고 RollingFileAppender를 그 안에 넣으면 구성한 간격으로 다시 시도하도록 FailoverAppender를 구성 할 수 있습니다. 그 동안 로그 이벤트는 다른 작업을 수행 할 수있는 보조 appender로 라우팅 될 수 있습니다. http://logging.apache.org/log4j/2.x/manual/appenders.html#FailoverAppender을 참조하십시오.

+0

이것이 나에게 도움이되지 않을 수 있습니다. 문제는 rollingfile appender 자체가 실패하지 않기 때문입니다. 왜냐하면이 공간은 아직 충분한 공간을 사용할 수있는 tmpfs에 로그인하기 때문입니다. 그러나 5MB가 초과되고 공간이 충분하지 않으면/var/log/mylog /, 장애 조치 appender가 다시 시도하지 않음 + – user2071938

+0

롤 파일 첨부자가 ignoreExceptions = "false"로 구성되어 있는지 확인하십시오. – rgoers