Tomcat и SLF4J - не записывать журнал в файл

1

Я пытаюсь внедрить журнал для моего приложения, используя slf4j-log4j12. Я настроил все, и он работал нормально, пока я тестировал его в автономном режиме. Теперь, когда я развернул его в tomcat, он перестал работать! Он просто печатает журнал (даже тот, который я создаю с помощью slf4j) в консоли, но не в файле!

Вот мой log4j.xml:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="INFO" />
        <param name="File" value="assp.log" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d  %-5p  [%c{1}] %m %n" />
        </layout>
    </appender>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c{1} - %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="debug" />
        <appender-ref ref="fileAppender" />
        <appender-ref ref="console" />
    </root>
</log4j:configuration>

Мои зависимости:

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

И вот мой тестовый класс

private Logger LOGGER = LoggerFactory.getLogger(Test.class);
@RequestMapping("*")
public String root(RedirectAttributes redirectAttributes){
    LOGGER.info("{} - entering root page. Redirecting to index.", System.currentTimeMillis());
    return "redirect:/index";
}

Выход (в консоли):

INFO 1404999952210 - entering root page. Redirecting to index.

Кто-то может помочь? благодаря

  • 0
    Проверьте местоположение / разрешение файла журнала. Возможно, вы не добавили разрешения на запись, чтобы tomcat мог его изменить.
  • 1
    и дайте файлу журнала абсолютный путь, чтобы вы знали, где он должен быть записан.
Показать ещё 2 комментария
Теги:
spring
tomcat
slf4j
logging

1 ответ

0
Лучший ответ

Через некоторое время я решу проблему. Я следую документации Apache здесь - Использование LOG4J

Надеюсь, это поможет любому, у кого была такая же проблема.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню