Вход с сервлетами - PullRequest
0 голосов
/ 11 марта 2012

Я пытаюсь настроить 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.

У меня есть сервлет со следующим конструктором:

public class FrontController extends HttpServlet {

    private Logger logger;

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

Когда я запускаю сервлет в Tomcat, ничего не записывается в файл application.log, который я объявил в logback.xml.LoggerFactory просто не находит xml-файл или мой xml-файл неверен?

Спасибо

1 Ответ

1 голос
/ 12 марта 2012

Что ж, при включении относительные пути плохие.Поэтому вместо использования простого имени файла в записи файла я использовал строку:

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

Теперь ведение журнала сервлетов записывает в мою папку установки eclipse в ../logs/application.log.Все хорошо.

...