2012-03-11 66 views
0

我试图用我的Web应用程序设置Logback。我的logback.xml文件如下所示:带servlets的Logback

<?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中。

我有下面的构造一个servlet:

public class FrontController extends HttpServlet { 

    private Logger logger; 

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

当我开始了在Tomcat servlet的说,没有东西写,我在logback.xml已经声明了application.log文件。 LoggerFactory没有找到xml文件或者我的xml文件错误?

谢谢

回答

1

好吧,因为它打开,相对路径是坏的。因此,而不是在文件条目使用简单文件名,我用的线:

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

现在的servlet记录下../logs/application.log写到我的Eclipse安装文件夹中。一切都很好。