Logback, файлов журналов нет вообще (RollingFileAppender и SizeBasedTriggeringPolicy

Возникла проблема с логбэком. Я пытался логировать свои действия, хочу записать все логи в файл, но после запуска моего приложения логов вообще нет

logback.xml

<configuration>
    <appender name = "FILE-LOGGER" class = "ch.qos.logback.core.rolling.RollingFileAppender">
        <file>log/application.log</file>
        <rollingPolicy class = "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <fileNamePattern>log/application-%d{yyyy-MM-dd}.log%i</fileNamePattern>
            <maxFileSize>5MB</maxFileSize>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <logger name = "com.test.application" level = "info">
        <appender-ref ref = "FILE-LOGGER"/>
    </logger>
    <root level = "debug">
        <appender-ref ref = "FILE-LOGGER"/>
    </root>
</configuration>

сервис.java

 static final Logger LOG = LoggerFactory.getLogger(TestClass.class);
public List<Items> getAll(){
    LOG.info("hi, info!!!!!");
    LOG.error("hi, error!!!!!");
}

пом.xml

<dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
            <scope>test</scope>
        </dependency>
    <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j-version}</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${slf4j-version}</version>
            </dependency>

ожидать, что логи будут в лог-файле

Я предоставил ответ, вы можете проверить?

Sambit 19.05.2019 11:35

Извините, забыл скопировать logback-зависимость

Shelalegen 19.05.2019 12:09

Почему областью logback-зависимости является test? Удалите это, если вы не запускаете service.java из junit-теста.

Jens 19.05.2019 12:16

Теперь логи исчезли из консоли, но в папке логов нет файлов

Shelalegen 19.05.2019 12:51

Попробуйте абсолютный путь. Я думаю, что вы ищете в неправильном каталоге.

Jens 19.05.2019 13:57

Каталог был прав, я нашел проблему

Shelalegen 20.05.2019 06:43
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
6
421
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Случайно нашел проблему Я удалил файл из logback.xml и начал получать логи в консоли и нашел следующие интересные строки:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]

ERROR in ch.qos.logback.core.joran.util.PropertySetter@100454a1 - A "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy" object is not assignable to a "ch.qos.logback.core.rolling.RollingPolicy" variable.

Чтобы решить эту проблему, вам необходимо выполнить следующие шаги:

  • удалить зависимости slf4j
  • переименуйте Политика триггеринга на основе размера в SizeAndTimeBasedRollingPolicy

Другие вопросы по теме