2011-01-05 9 views
5

JBoss가 실행 중일 때 JBoss의 server.log 파일을 지우는 방법? 내가JBoss에서 server.log를 지우는 방법?

echo 1 > server.log 

을 할 때 나는 파일이 다른 프로그램 (보스)에 의해을 사용하고 있는지 오류 MSG를 얻을. 명령 줄 도구 (windows 또는 linux (나는 CygWin을 가짐)를 사용하거나 해당 파일을 지울 수있는 응용 프로그램을 사용할 수 있습니까?

P. 그 파일이 0kb가 될 필요는 없지만, 이 100MB보다 작기를 원합니다.

답변

3

기본적으로 JBoss는 로그 메시지를 쓰기 때문에 파일을 잠긴 상태로 유지합니다. JBoss가 실행되고있는 한 잠긴 상태이며 JBoss 자체를 중지하는 것보다 릴리스하는 다른 방법을 알지 못합니다.

크기를 제어하려면 로그 구성을 수정할 수 있습니다. 기본값은 <server>/conf˛jboss-log4j.xml입니다. 로그 파일의 최대 크기를 지정하고 크기에 도달하면 수행 할 작업을 정의 할 수 있습니다. 새 파일로 롤오버하고 기존 파일을 자르고 다시 쓰기 시작합니다.

기본 예 테스트하지, 그것은) 그것이 직선으로 작동하도록 보장은 없습니다 :

<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"> 
      ... 
      <param name="maxFileSize" value="100MB" /> 
      ... 
    </appender> 

또한, maxBackupIndex 매개 변수를 사용하여 당신이 (백업 파일의 수를 정의 할 수 있습니다 기본값) 1입니다.

1

JBoss는 로깅 프로세스가 실행되는 동안 파일을 잠급니다.

JMX 콘솔을 활성화 한 경우 로깅을 중지하고 로그를 삭제/수정 한 다음 로깅 서비스를 다시 시작할 수 있습니다.

URL입니다 (log4j에 대한) 모양은 다음과 같습니다

http://jboss.example.com:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DLog4jService%2Cservice%3DLogging

나는이 솔루션뿐만 아니라 스크립트해야 제이보스 5.

으로이 테스트.

로그 파일 크기 문제 : 수동으로 로그 파일을 편집하는 대신 구성 방법을 사용해야합니다.