...
톰캣 로그 한글 깨짐 해결 방법
톰캣 로그를 실시간으로 보면 한글이 외계 문자로 깨져서 나와 눈살을 찌푸리는 경우가 종종 발생한다. 이 경우는 톰캣의 인코딩을 변경해주면 해결할 수 있다. (단, 윈도우와 리눅스의 경우 각각 세팅하는 법이 다르다)
본격적으로 톰캣 로그의 한글 깨짐을 해결해보자. 톰캣 버젼에 따라서 되는 방법도 있고 안되는 방법도 있어서, 여러 방법을 소개해 본다. 하나하나씩 설정해보고 적용되는 방법을 찾자.
글쓴이는 logging.properties를 설정하고 해결했다. (톰캣 9 버젼 기준)
방법 1 server.xml 수정 방법
톰켓설치경로/conf/server.xml 을 열고 URIEncoding 을 추가해준다. 이는 로그 한글깨짐을 해결하지는 않고, 서버 구동시 Get 으로 넘어갈 때 문자열이 깨지는 경우를 해결해준다.
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
방법 2 catalina.bat 파일 수정
밑의 변수 설정을 추가해준다.
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% "-Dfile.encoding=utf-8"
tomcat.exe 속성 편집 방법
이 부분은 만일 톰캣을 .bat이 아닌 .exe로 실행할 경우의 옵션 추가 방법이다. 깃털 트레이 아이콘의 exe파일을 우측 클릭한 후, 환경설정 창의 java 탭에서 java Options: 에 아래 설정을 추가 후 톰캣을 재시작 한다.
-Dfile.encoding=utf-8
방법 3 logging.properties 파일 수정
conf폴더의 logging.properties의 encoding 설정값 UTF-8을 EUC-KR로 바꿔주면 된다.
java.util.logging.ConsoleHandler.encoding = EUC-KR
방법 4 톰캣 로그영문으로 바꾸기
위의 3가지 방법을 모두 시도해도 도저히 안될 경우 최후의 방지책이다. 깨진 한글로 인해 도저히 읽을 수 없는 로그는 쓸모없다. 그렇다면 아예 한글을 출력을 하지않고, 영문으로 로그를 출력하게 해보자.
set JAVA_OPTS=%JAVA_OPTS% -Duser.language=en
리눅스 톰캣 한글 설정
윈도우가 아닌 리눅스 환경일 경우, tomcat/bin 디렉토리에 setenv.sh 라는 파일을 새로 만들어, 아래 내용 추가하여 기본 파일 인코딩을 UTF-8로 지정해 주면 된다.
#!/bin/bash
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=\"utf-8\""
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.