2012-03-11 10 views
0

WebアプリケーションでLogbackを設定しようとしています。私のlogback.xmlファイルは以下のようになります:サーブレットでのログバック

<?xml version="1.0" encoding="UTF-8"?> 

<configuration scan="true" scanPeriod="60 seconds"> 
<appender name="tests_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>tests.log</file> 
    <append>true</append> 

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>tests.%i.log.zip</fileNamePattern> 
     <minIndex>1</minIndex> 
     <maxIndex>10</maxIndex> 
    </rollingPolicy> 

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <maxFileSize>100MB</maxFileSize> 
    </triggeringPolicy> 

    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender> 

<appender name="application_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>application.log</file> 
    <append>true</append> 

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>application.%i.log.zip</fileNamePattern> 
     <minIndex>1</minIndex> 
     <maxIndex>10</maxIndex> 
    </rollingPolicy> 

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <maxFileSize>100MB</maxFileSize> 
    </triggeringPolicy> 

    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender> 

<logger name="tests" level="DEBUG"> 
    <appender-ref ref="tests_file" />  
</logger> 

<logger name="application" level="INFO"> 
    <appender-ref ref="application_file" />  
</logger> 

</configuration> 

このファイルはWEB-INF/classesにあります。

私は次のコンストラクタを持つサーブレットを持っている:私はTomcatの内のサーブレットを起動すると

public class FrontController extends HttpServlet { 

    private Logger logger; 

    public FrontController() { 
     // Initialise the logger 
     logger = (Logger)LoggerFactory.getLogger("application"); 
     logger.info("Starting application"); 
    } 
} 

、何も私はlogback.xmlに宣言したapplication.logでファイルに書き込まれませんされます。 LoggerFactoryはxmlファイルを見つけられないだけですか?またはxmlファイルが間違っていますか?それがオンになって

おかげ

答えて

1

まあ、相対パスが悪いです。代わりに、ファイルエントリに単純なファイル名を使用するので、私はラインを使用:

<file>${user.dir}/logs/application.log</file> 

今サーブレットのロギングが../logs/application.logの下に私のEclipseのインストールフォルダに書き込みます。すべては順調です。

関連する問題