Автор оригинала: mkyong.
Простой SLF4J с Обратный вход пример.
Протестировано с
- API SLF4J 1.7.25
- Обратный вход 1.2.3
- Мавен 3
- Java 8
1. Каталог проектов
2. Знаток
2.1 Объявляет logback-классический
, он будет тянуть в logback-ядро
и slf4j-api-интерфейс
ch.qos.logback logback-classic 1.2.3
com.mkyong:slf4j-logback:jar:1.0 [INFO] +- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] | +- ch.qos.logback:logback-core:jar:1.2.3:compile [INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile
2.2 Завершено pom.xml
пример.
4.0.0 com.mkyong slf4j-logback 1.0 UTF-8 1.8 1.2.3 1.6.2 ch.qos.logback logback-classic ${logback.version} org.apache.maven.plugins maven-compiler-plugin 3.8.0 ${java.version} ${java.version} org.apache.maven.plugins maven-shade-plugin 3.2.0 package shade com.mkyong.HelloWorld
3. 2.2 Завершено || pom.xml || пример.
3.1 Создайте logback.xml
в пути к классу проекта.
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
4. Привет, Обратный вход
package com.mkyong; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { private static final Logger logger = LoggerFactory.getLogger(HelloWorld.class); public static void main(String[] args) { logger.debug("Hello from Logback"); logger.debug("getNumber() : {}", getNumber()); } static int getNumber() { return 5; } }
Выход
11:28:18.350 [main] DEBUG com.mkyong.HelloWorld - Hello from Logback 11:28:18.352 [main] DEBUG com.mkyong.HelloWorld - getNumber() : 5
5. Конфигурация обратного входа
5.1 Для разработки рекомендуется включить режим отладки. Он отобразит много полезной информации, а также сообщение об ошибке, если таковое имеется.
Прочтите это Конфигурация обратного входа
6. Приложения для обратной регистрации
Некоторые из распространенных приложений для обратной регистрации.
6.1 Приложение для консоли
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
6.2 Приложение для файлов
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n ${HOME_LOG} true true %d %p %c{1.} [%t] %m%n
2019-03-29 11:42:44,827 DEBUG com.mkyong.HelloWorld [main] Hello from Logback 2019-03-29 11:42:44,836 DEBUG com.mkyong.HelloWorld [main] getNumber() : 5
6.3 RollingFileAppender
– Поворот файла журнала по дате и размеру. Скорее всего, это то, что вам нужно в производстве.
${HOME_LOG} logs/archived/app.%d{yyyy-MM-dd}.%i.log 10MB 20GB 60 %d %p %c{1.} [%t] %m%n
Добавьте расширение .gz
, Logback будет сжимать архивированные файлы.
logs/archived/app.%d{yyyy-MM-dd}.%i.log.gz
6.4 смтпапендер
– Нужно javax.mail
отправить электронное письмо.
com.sun.mail javax.mail 1.6.2
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n smtp.mailgun.org 25 123 123 TO_EMAIL RO_ANOTHER_EMAIL FROM_EMAIL TESTING: %logger{20} - %m 1 false
Имитация ошибки
package com.mkyong; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorldError { private static final Logger logger = LoggerFactory.getLogger(HelloWorldError.class); public static void main(String[] args) { try { System.out.println(getData()); } catch (IllegalArgumentException e) { logger.error("{}", e); } } static int getData() throws IllegalArgumentException { throw new IllegalArgumentException("Sorry IllegalArgumentException!"); } }
Вот электронное письмо
6.5 AsyncAppender
– Регистрирует асинхронно, быстрее, но удаляет события ТРАССИРОВКИ уровня, ОТЛАДКИ и ИНФОРМАЦИИ, если его очередь заполнена на 80%, сохраняя только события ПРЕДУПРЕЖДЕНИЯ уровня и ОШИБКИ. Прочтите это АсинкАппендер
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n ${HOME_LOG} logs/archived/app.%d{yyyy-MM-dd}.%i.log 10MB 20GB 60 %d %p %c{1.} [%t] %m%n 512
Скачать Исходный Код
Рекомендации
- Простой фасад ведения журнала для Java (SLF4J)
- Проект Обратной регистрации
- Приложения для обратной регистрации
Оригинал: “https://mkyong.com/logging/slf4j-logback-tutorial/”