본문 바로가기

WAS - WebLogic/설치

[weblogic] windows 환경 apache rotatelogs 활용

Apache rotatelogs 모듈을 활용하여 stdout log 를 rotation 시킬 수 있다.

가능은 하다는 의미이며, 웬만하면 이 방법을 사용해야 하는 상황까지 가지 않아야 한다 생각한다.

외부 솔루션에 의존하게 되면 에러 발생 시 원인 파악이 어려워진다.

 


 

서버 기동 스크립트에서

서버 기동 명령어 부분을 아래와 같이 작성한다

start /B %DOMAIN_HOME%\bin\startWebLogic.cmd | rotatelogs.exe %LOG_DIR%\%SERVER_NAME%.out.%%Y-%%m-%%d 86400 +540 2>&1 &

 

기동 스크립트 전체 내용은 아래와 같다

@ECHO OFF
set SERVER_NAME=AdminServer
set SERVER_PORT=9000
set DOMAIN_HOME=D:\WebLogic\weblogic10.3.6\domains\test_domain
set BOOT_PROPERTIES=%DOMAIN_HOME%\boot.properties

cd %DOMAIN_HOME%

set LOG_DIR=%DOMAIN_HOME%\logs\%SERVER_NAME%

if exist %LOG_DIR%\%SERVER_NAME%.out (
    move %LOG_DIR%\%SERVER_NAME%.out %LOG_DIR%\%SERVER_NAME%.out.%PREFIX%
)

set USER_MEM_ARGS=-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=128M
set JAVA_OPTIONS=-Dweblogic.system.BootIdentityFile=%BOOT_PROPERTIES%

start /B %DOMAIN_HOME%\bin\startWebLogic.cmd | rotatelogs.exe %LOG_DIR%\%SERVER_NAME%.out.%%Y-%%m-%%d 86400 +540 2>&1 &

 


 

out 로그 파일명은

AdminServer.out.2021-07-27 와 같이 된다

 

cmd 창에서 date 명령어 수행시

2021-07-27 와 같은 형식으로 출력된다

 

그러므로 out log tail 프로세스는 아래와 같이 작성한다 (tail.bat)

@REM server name
set SERVER_NAME=AdminServer

@REM log directory
set LOG_DIR=D:\WebLogic\weblogic10.3.6\domains\test_domain\logs\%SERVER_NAME%

@REM execute tail
tail -f %LOG_DIR%\%SERVER_NAME%.out.%DATE%