Ответ 1
Spring Boot позволяет вам настроить некоторые основные аспекты вашей системы ведения журнала, используя application.properties, но существуют ограничения:
Чтобы настроить более мелкие настройки системы ведения журнала, вам необходимо использовать собственный формат конфигурации, поддерживаемый соответствующей LoggingSystem.
Другими словами, если вы хотите сделать что-то, что специально не поддерживается через свойства, вам не придётся добавлять и редактировать файл logback.xml
(при условии, что вы используете logback).
Итак, откройте свои требования:
- "Я хочу регистрировать сообщение в файле, а не на консоли".
Согласно документам:
По умолчанию Spring Boot будет регистрироваться только на консоли и не будет записывать файлы журналов. Если вы хотите записать файлы войти дополнительно (курсив добавлен) к выходу консоли необходимо установить logging.file или свойство logging.path (например, в ваших application.properties).
Другими словами, не выполнять вход в консоль с помощью свойств невозможно.
- "Я получаю сообщения журнала сообщений только в моем файле application.log, но мне нужна ошибка, а также сообщения отладки".
По умолчанию Spring Boot регистрируется на уровне INFO, который должен включать ERROR, вы уверены, что не используете журналы ERROR с настройками по умолчанию?
Кроме того, вы указываете только самый высокий уровень, который хотите записать, а не на каждый уровень, и вы должны указать регистратор, на который хотите установить уровень.
Это не сработает:
logging.level: DEBUG
logging.level: ERROR
Это пример настройки настраиваемых уровней журнала в соответствии с документами:
logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ОШИБКА
Вы также можете использовать logging.level.*
Для установки уровня корневого регистратора следующим образом:
logging.level.ROOT: DEBUG
Обратите внимание, что установка регистрации DEBUG в журнале регистрации ROOT приведет к созданию большого количества журналов. Я только что протестировал его здесь и получил примерно 13 МБ журналов только при запуске, ничего не делая.
- "Я хочу сообщение об ошибке в файле error.log и отладочном сообщении в debug.log и информационных сообщениях в info.log".
Опять же, это невозможно сделать, используя только свойства. Spring Boot позволяет настроить точно одно свойство logging.file
которое будет содержать все журналы.
Полный список доступных свойств журнала и значений образцов см. Здесь.