2010-07-10 1 views

답변

0

나는 항상 xml을 사용한다. 나에게 그것은 읽기 쉽고 작업하기 쉽고 또한 XML로만 구현할 수있는 몇 가지 log4j 기능이 있습니다. JoseK이 말했듯이, 시도한 것에 대해 더 구체적인 질문이 있으면 알려주십시오.

일부 기본 사항의 경우 특성 파일은 클래스 경로의 임의 위치에있는 log4j.xml 파일에 있으면 자동으로 읽혀집니다. 이것을 달성하는 가장 쉬운 방법은 root src 디렉토리에 넣는 것입니다. 우리 프로젝트에서 logging 폴더를 resources 디렉토리 아래에 만들고 클래스 패스에 추가하면이 파일에 commons-logging.properties 파일을 넣을 수 있습니다.


온라인으로 log4j xml 파일의 구조에 대한 설명이 부족합니다. One random google example is here. 웹에서 더 많은 것을 찾을 수 있습니다.

더 많은 도움을 받으려면 활성 프로젝트의 정확한 로깅 파일을 제공하십시오. 뿐만 아니라 첨부 commons-logging.properties 파일 : 그것은 당신에게 아이디어를 줄 수있는 기본적인 충분히 예, 그래서

<!-- ================ APPENDERS ================ --> 
    <appender name="ProjectAppender" class="org.apache.log4j.FileAppender"> 
      <param name="File" value="/blazeds/tomcat/logs/all.out" /> 
      <param name="Append" value="true" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="%m%n" /> 
      </layout> 
    </appender> 

    <appender name="AspectAppender" class="org.apache.log4j.FileAppender"> 
      <param name="File" value="/blazeds/tomcat/logs/aspects.out" /> 
      <param name="Append" value="true" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="[%d{ABSOLUTE}]\t\t%m%n" /> 
      </layout> 
    </appender> 

    <appender name="DebugFileAppender" class="org.apache.log4j.FileAppender"> 
      <param name="File" value="/blazeds/tomcat/logs/debug.out" /> 
      <param name="Append" value="true" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="[%d{ABSOLUTE}] %-5p\t%m%n" /> 
      </layout> 
      <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
        <param name="LevelMin" value="DEBUG" /> 
        <param name="LevelMax" value="DEBUG" /> 
        <param name="AcceptOnMatch" value="true" /> 
      </filter> 
      <filter class="org.apache.log4j.varia.DenyAllFilter" /> 
    </appender> 

    <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender"> 
      <layout class="org.apache.log4j.SimpleLayout" /> 
    </appender> 

    <appender name="ErrorConsoleAppender" class="org.apache.log4j.ConsoleAppender"> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="[%d{ABSOLUTE}] %-5p > %m%n" /> 
      </layout> 
      <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
        <param name="LevelMin" value="ERROR" /> 
        <param name="LevelMax" value="ERROR" /> 
        <param name="AcceptOnMatch" value="true" /> 
      </filter> 
      <filter class="org.apache.log4j.varia.DenyAllFilter" /> 
    </appender> 


    <!-- ========= LOGGERS - additive ==== --> 

    <logger name="com.companyname.projectname" additivity="true"> 
      <level value="ALL" /> 
      <appender-ref ref="ProjectAppender" /> 
      <appender-ref ref="DebugFileAppender" /> 
    </logger> 


    <logger name="com.companyname.projectname.aspects" additivity="true"> 
      <level value="ALL" /> 
      <appender-ref ref="AspectAppender" /> 
    </logger> 

    <root> 
      <priority value="ALL" /> 
      <appender-ref ref="ErrorConsoleAppender" /> 
    </root> 

우리는 무겁게 여기에 로그인 아닙니다. 이 로깅 설정의 멋진 기능 중 하나는 log.error(string)에 대한 모든 호출이 콘솔에 자동으로 표시됩니다.

src 디렉토리에이 두 파일을 배치하고 출력 파일 경로를 수정하면 로깅이 표시됩니다.

관련 문제