2016-08-01 4 views
4

사용자 홈 디렉토리에 로그 파일을 넣고 싶습니다.Logback에서 이동식으로 사용자 홈 디렉토리에 로그 파일을 저장하는 방법은 무엇입니까?

휴대용 방식으로, 즉 Windows, Linux 및 Mac에서 작업하는 방법은 무엇입니까?

+0

'$ {user.home} '같은 것을 사용하십시오. 문서보기 (NB : 첫 번째 Google 답변 : http://mailman.qos.ch/pipermail/logback-user/2013-May/003938.html) –

+0

아래 답변 중 하나가 도움이되었다고 생각하면 upvote/mark 그것을 "받아 들여"다른 사람들이 당신을 위해 일했음을 알 수 있도록 :) (다른 사람은 자유롭게 의견을 말하십시오) – xav

답변

9

Logback documentation에 따르면, 당신은 환경을 직접 OS에서 나오는 JVM에서 변수 존재입니다 ${user.home}를 사용한다 (그래서 휴대가) :

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>${user.home}/logback.log</file> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern> 
    </encoder> 
</appender> 
0

로깅 설정이 정말 구성 요소입니다 체계. 가장 좋은 방법은 각 시스템의 구성을 분리 (및로드)하는 것입니다. 이를 수행하는 좋은 방법 중 하나는 Apache Commons Configuration과 같은 것을 사용하는 것입니다. 이렇게하면 일회성 로그백 구성을 찾을 수있는 위치를 나타내는 속성 집합을 탐색 할 수 있습니다.

로그백 구성 파일 이름을 식별하기 위해 "우선 순위"체계를 사용합니다.

<configuration config-name="master-config"> 
<!-- start here, properties encountered in the first file would be ignored in the last file --> 
<properties fileName="/opt/config/log.properties" optional="true"/> 
<properties fileName="${sys:user.home}/config/product/log.properties" optional="true"/> 
<properties fileName="com/company/product/config/log.properties"/>  
내 로컬 Windows 개발 상자에서

($ {SYS : user.home의} /config/product/log.properties) 파일

모양을 아파치 코 몬즈 구성을 사용하여 우리는 같은 방식을 지정
logbackConfigLocation=C:/Users/dan/config/product/logback.xml 

각 시스템/사용자는 원하는대로 로깅을 구성/설정할 수 있습니다. 서블릿 컨텍스트 내에서 로그백을로드하고 초기화 할 수 있습니다.

관련 문제