Настройка уровня ведения журнала в загрузочном приложении Spring - PullRequest
0 голосов
/ 07 мая 2018

Как настроить уровень ведения журнала отладки, чтобы отключить запись в консоль Springframework и сообщения отладки гибернации?

В моем app.yml:

logging:
    file: direct_delivery.log
    level:
#        root: DEBUG
        springframework:
            web: INFO
        org:
            hibernate: INFO
    pattern:
        file: '%d{yyyy-MM-dd HH:mm:ss} - %msg%n'

Когда я включаю уровень отладки для приложения root logger, показывая все сообщения отладки, но мне нужно проверять только мои сообщения.

UPD Мой конфигурационный файл:

@Configuration
public class AppConfig {
    @Bean
    public Logger logger(){
        Logger log = LoggerFactory.getLogger("PlanningDirectDeliveryApplication");

        return log;
    }
}

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

Из вашего вопроса мне неясно, что именно вы хотите регистрировать, а что нет, но обычно вы можете установить уровень журнала отдельно для каждого пакета в коде вашего приложения, включая ваш код и код используемых вами библиотек.

В указанном выше файле конфигурации вы устанавливаете уровень журнала для пакета springframework.web и для пакета org.hibernate на INFO. Хотя, пакет springframework.web не существует в Spring, так что это, вероятно, будет неэффективным. Вы, вероятно, должны использовать org.springframework.web вместо.

0 голосов
/ 07 мая 2018

org.hibernate - это, по сути, имя регистратора (обычно это имя исходного класса (часто сокращается). Неверное имя пакета Spring, поэтому у вас нет классов с таким именем. По этой причине ваш регистратор игнорировал. org.springframework - правильное имя для пакетов Spring.

Попробуйте настроить регистрацию как:

logging:
    file: direct_delivery.log
    level:
        root: DEBUG
        org:
            hibernate: INFO
            springframework:
                web: INFO
    pattern:
        file: '%d{yyyy-MM-dd HH:mm:ss} - %msg%n'

Или

logging:
    file: direct_delivery.log
    level:
        root: DEBUG
        org.hibernate: INFO
        org.springframework.web: INFO
    pattern:
        file: '%d{yyyy-MM-dd HH:mm:ss} - %msg%n'

Может быть, вы хотели бы даже объявить весь org.springframework, а не только web до DEBUG уровень. поскольку при настройке уровня ведения журнала только для web вы все равно будете получать журналы из артефакта spring-web из других Loggers с различными источниками классов, например org.springframework.http и т. д.

0 голосов
/ 07 мая 2018

Установите root logger на уровень WARN, а ваш пакет на Debug. Hibernate также может записывать в стандартный вывод, который нельзя использовать таким образом, вам нужен другой обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...