Содержание
Знаете ли вы о Logback Logging Framework ? Ну, большинство людей в основном используют log4j and slf4j в их проект. С прошлых 6 месяцев я использую Logback.xml каркас ведения журналов, и я бы сказал, что я увидел довольно много улучшений производительности в моем производственном приложении.
В этом уроке мы рассмотрим практический пример каркаса Logback Logging.
Что такое logback.qos.ch?
Logback — это новая версия Log4j. Он был разработан с того места, где остановилась разработка log4j.
На Crunchify мы опубликовали несколько руководств по Log4j, если вы заинтересованы:
Здесь мы рассмотрим все подробные шаги по настройке Logback Logging Framework для вашего корпоративного Java-проекта . Мы собираемся создать ниже новые файлы.
- В папке ресурсов
logback.xmlфайл - Класс Java
CrunchifyLogbackLogging.java
Давайте начнем
Шаг 1 Создайте файл logback.xml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
xml version = 1.0 encoding = UTF-8 ?>
< конфигурация >
< appender name = CRUNCHIFYOUT class = ch.qos.logback.core.ConsoleAppender >
< layout class = ch.qos.logback.classic.PatternLayout >
< Pattern > % d { ЧЧ : мм : сс . SSS } [ % thread ] % — 5 уровень % logger { 36 }
% X { sourceThread } — % msg % n < / Pattern >
< / layout >
< / appender >
< appender name = CRUNCHIFYFILE class = ch.qos.logback.core.FileAppender >
< файл > / Users / ashah / Documents / crunchify . журнал < / file >
< кодировщик >
< шаблон > % дата % уровень [ % thread ] % logger { 10 } [ % file : % line ] % msg % n < / pattern >
< / encoder >
< / appender >
< appender name = CRUNCHIFYROLLING class = ch.qos.logback.core.rolling.RollingFileAppender >
< файл > / Users / ashah / Documents / crunchify — переходящий . журнал < / file >
< encoder class = ch.qos.logback.classic.encoder.PatternLayoutEncoder >
< Шаблон >
% d { гггг — ММ — дд ЧЧ : мм : сс } [ % thread ] % уровень % logger { 35 } — % msg % n
< / Pattern >
< / encoder >
< RollPolicy class = ch.qos.logback.core.rolling.TimeBasedRollingPolicy >
< ! — Мы переворачивание ежедневно — >
< fileNamePattern > crunchify . войти. timeroll. % d { гггг — ММ — дд } . журнал < / fileNamePattern >
< ! — держать 10 дней стоит истории ограничен в 1GB общий размер — >
< maxHistory > 10 < / maxHistory >
< totalSizeCap > 1 ГБ < / totalSizeCap >
< / RollingPolicy >
< / appender >
< ! — дефолт является DEBUG — >
< root level = DEBUG >
< appender — ref ref = CRUNCHIFYOUT / >
< appender — ref ref = CRUNCHIFYFILE / >
< appender — ref ref = CRUNCHIFYROLLING / >
< / root >
< / configuration >
|
Давайте сначала разберемся с файлом logback.xml.
- В нижней части файла вы видите 3 ссылки на приложения
appender-refподrootэлемент. - Мы используем уровень журнала как
DEBUG, Это означает, что печатать все с уровнем DEBUG и выше.
CRUNCHIFYOUT appender имеет класс ch.qos.logback.core. ConsoleAppender , Это означает, что все данные журналов будут распечатаны в Eclipse Console .
CRUNCHIFYFILE имеет тип ch.qos.logback.core. FileAppender , Это означает, что все данные журналов также будут напечатаны в локальный файл . В нашем случае это / Users / ashah / Documents / crunchify.log ,
CRUNCHIFYROLLING имеет тип ch.qos.logback.core.rolling. RollingFileAppender , Как вы видите в RollingPolicy, мы обновляем файлы каждый день и сохраняем максимум 10 файлов. Кроме того, существует ограничение на общий размер файла, которое 1 GB в нашем примере. Новый файл будет создан в папке / Users / ashah / Documents / crunchify-rolling.log ,
Шаг 2 Напишите программу на Java, чтобы протестировать ее.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
пакет crunchify. ком . учебник ;
импорт орг . slf4j . Регистратор ;
импорт орг . slf4j . LoggerFactory ;
/ **
* @author Crunchify.com
* Программа: Очень простой тестовый класс Logback.xml с ConsoleAppender, FileAppender и RollingFileAppender.
* Версия: 1.0.0
*
* /
общественности учебный класс CrunchifyLogbackLogging {
частный окончательный Logger crunchifyLogging знак равно LoggerFactory . getLogger ( CrunchifyLogbackLogging . class ) ;
общественности статический недействительным main ( Строка [ ] аргументы ) {
CrunchifyLogbackLogging crunchifyLogger знак равно новый CrunchifyLogbackLogging ( ) ;
crunchifyLogger . getStartedwithLogBackTesting ( ) ;
}
частный недействительным getStartedwithLogBackTesting ( ) {
за ( int я знак равно 1 ; я < = 10 ; я ++ ) {
crunchifyLogging . debug ( …… Это тест Crunchify при выходе из системы DEBUG …… ) ;
crunchifyLogging . info ( …… Это тест Crunchify при входе в систему INFO …… ) ;
crunchifyLogging . ошибка ( «…… Это проверка Crunchify при ошибке обратной связи ……» ) ;
crunchifyLogging . warn ( …… Это тест Crunchify при выходе из системы WARN …… ) ;
}
}
}
|
Это очень простой класс Java Test , в котором мы используем error, info, debug и warn все 4 уровня ведения журнала. Мы перебираем 10 раз.
Шаг 3
Как только вы запустите вышеуказанную программу, logback Framework создаст два новых файла, как упомянуто выше.

Оформите вашу Консоль Eclipse. Вы увидите ниже журналы:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
15 : 36 : 12 , 978 | — ИНФО в глава Qos . выход . классический. LoggerContext [по умолчанию ] — Могли НЕ найти ресурс [ logback — тест . xml ]
15 : 36 : 12 , 978 | — ИНФО в глава Qos . выход . классический. LoggerContext [по умолчанию ] — Могли НЕ найти ресурс [ выход . отличный ]
15 : 36 : 12 , 978 | — ИНФО в глава Qos . выход . классический. LoggerContext [по умолчанию ] — Найденный ресурс [ выход . xml ] в [ file : / Users / ashah / Documents / site / Bitbucket / crunchifytutorials / target / classes / logback . xml ]
15 : 36 : 13 , 077 | — ИНФО в глава Qos . выход . классический. Джоран . действие . ConfigurationAction — атрибут отладки не задавать
15 : 36 : 13 , 077 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderAction — О к инстанцирует Appender типа [Гл. Qos . выход . ядро. ConsoleAppender ]
15 : 36 : 13 , 087 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderAction — Именование appender as [ CRUNCHIFYOUT ]
15 : 36 : 13 , 143 | — ВНИМАНИЕ в глава Qos . выход . ядро. ConsoleAppender [ CRUNCHIFYOUT ] — это заявитель больше не признает макет как к югу — компонент, установить вместо кодер.
15 : 36 : 13 , 143 | — ВНИМАНИЕ в глава Qos . выход . ядро. ConsoleAppender [ CRUNCHIFYOUT ] — к обеспечить совместимость , упаковка вашего макета в LayoutWrappingEncoder .
15 : 36 : 13 , 143 | — ВНИМАНИЕ в глава Qos . выход . ядро. ConsoleAppender [ CRUNCHIFYOUT ] — См. Также http : //logback.qos.ch/codes.html#layoutInsteadOfEncoder для получения подробной информации.
15 : 36 : 13 , 144 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderAction — О к инстанцирует Appender типа [Гл. Qos . выход . ядро. FileAppender ]
15 : 36 : 13 , 147 | — ИНФО в глава Qos . выход . ядро. Джоран . действие . AppenderAction — Именование appender as [ CRUNCHIFYFILE ]
15 : 36 : 13 , 147 | — ИНФО в глава Qos . выход . ядро. Джоран . действие . NestedComplexPropertyIA — Принимая по умолчанию тип [Гл. Qos . выход . классический. кодировщик . PatternLayoutEncoder ] за [ кодировщик ] имущество
15 : 36 : 13 , 148 | — ИНФО в глава Qos . выход . ядро. FileAppender [ CRUNCHIFYFILE ] — Свойство файла является установить на [ / Users / ashah / Documents / crunchify . журнал ]
15 : 36 : 13 , 151 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderAction — О к инстанцирует Appender типа [Гл. Qos . выход . ядро. прокатки. RollingFileAppender ]
15 : 36 : 13 , 152 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderAction — Именование appender as [ КРУНЧИФИРОЛЛИНГ ]
15 : 36 : 13 , 159 | — ИНФО в с . кв. л. ядро. прокатки. TimeBasedRollingPolicy @ 2096171631 — установка totalSizeCap в 1 гигабайт
15 : 36 : 13 , 161 | — ИНФО в с . кв. л. ядро. прокатки. TimeBasedRollingPolicy @ 2096171631 — Сжатие не будет использоваться
15 : 36 : 13 , 163 | — ИНФО в с . кв. л. ядро. прокатки. TimeBasedRollingPolicy @ 2096171631 — Будем использовать шаблон crunchify. войти. timeroll. % d { гггг — ММ — дд } . войти для активный файл
15 : 36 : 13 , 166 | — ИНФО в с . кв. л. ядро. прокатки. DefaultTimeBasedFileNamingAndTriggeringPolicy — Узор дата 'YYYY-MM-дд' из шаблона имени файла 'crunchify.log.timeroll.% d {yyyy-MM-dd} .log' .
15 : 36 : 13 , 166 | — ИНФО в с . кв. л. ядро. прокатки. DefaultTimeBasedFileNamingAndTriggeringPolicy — Ролл — свыше в полночь.
15 : 36 : 13 , 171 | — ИНФО в с . кв. л. ядро. прокатки. DefaultTimeBasedFileNamingAndTriggeringPolicy — Установка начального периода в Чт сен 07 11 : 42 : 27 CDT 2017
15 : 36 : 13 , 173 | — ИНФО в глава Qos . выход . ядро. прокатки. RollingFileAppender [ CRUNCHIFYROLLING ] — Имя активного файла журнала : / Пользователи / Ашах / Документы / crunchify — прокат . журнал
15 : 36 : 13 , 173 | — ИНФО в глава Qos . выход . ядро. прокатки. RollingFileAppender [ CRUNCHIFYROLLING ] — Свойство файла является установить на [ / Users / ashah / Documents / crunchify — прокат . журнал ]
15 : 36 : 13 , 173 | — ИНФО в глава Qos . выход . классический. Joran. действие . RootLoggerAction — Настройка уровня ROOT регистратора для DEBUG
15 : 36 : 13 , 174 | — ИНФО в глава Qos . выход . ядро. Джоран . действие . AppenderRefAction — Прикрепление appender по имени [ CRUNCHIFYOUT ] в Logger [ ROOT ]
15 : 36 : 13 , 174 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderRefAction — Прикрепление appender по имени [ CRUNCHIFYFILE ] в Logger [ ROOT ]
15 : 36 : 13 , 174 | — ИНФО в глава Qos . выход . ядро. Joran. действие . AppenderRefAction — Прикрепление appender по имени [ КРУНЧИФИРОЛЛИНГ ] в Logger [ ROOT ]
15 : 36 : 13 , 174 | — ИНФО в глава Qos . выход . классический. Joran. действие . ConfigurationAction — Конец конфигурации.
15 : 36 : 13 , 175 | — ИНФО в глава Qos . выход . классический. Joran. JoranConfigurator @ 7e0babb1 — Регистрация текущей конфигурации как безопасная точка возврата
15 : 36 : 13.181 [ главная ] DEBUG с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback DEBUG. , , , , ,
15 : 36 : 13.186 [ главная ] ИНФОРМАЦИЯ с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это тест Crunchify при входе в систему INFO . , , , , ,
15 : 36 : 13.187 [ главная ] ОШИБКА с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback ERROR. , , , , ,
15 : 36 : 13.187 [ главная ] WARN с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback WARN. , , , , ,
15 : 36 : 13.188 [ главная ] DEBUG с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback DEBUG. , , , , ,
15 : 36 : 13.188 [ главная ] ИНФОРМАЦИЯ с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это тест Crunchify при входе в систему INFO . , , , , ,
15 : 36 : 13.188 [ главная ] ОШИБКА с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback ERROR. , , , , ,
15 : 36 : 13.188 [ главная ] WARN с . с . учебник . CrunchifyLogbackLogging
— , , , , , , это испытание Crunchify на Logback WARN. , , , , ,
|
В дополнение к этому вы также можете проверить локальные журналы файлов и, как вы видите, logback.xml Файл создал все новые файлы и начал печатать журналы внутри него.
Приятного просмотра, у вас правильно настроен logback.xml и все 3 приложения: ConsoleAppender, FileAppender, RollingFileAppender.
Бонусный балл:
Вы хотите настроить RollingFileAppender с FixedWindowRollingPolicy ? Хорошо используйте ниже appender и поместите его в файл logback.xml, и у вас все должно быть хорошо
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
< appender name = CRUNCHIFYROLLINGFIXEDWINDOW class = ch.qos.logback.core.rolling.RollingFileAppender >
< файл > / Users / ashah / Documents / crunchify — rolling — fixwindows . журнал < / file >
< encoder class = ch.qos.logback.classic.encoder.PatternLayoutEncoder >
< шаблон > % дата % уровень [ % thread ] % logger { 10 } [ % file : % line ] % msg % n < / pattern >
< / encoder >
< RollPolicy class = ch.qos.logback.core.rolling.FixedWindowRollingPolicy >
< FileNamePattern > crunchify . войти. фиксированный размер . { гггг — ММ — дд } % я . журнал < / FileNamePattern >
< MinIndex > 1 < / MinIndex >
< MaxIndex > 15 < / MaxIndex >
< / RollingPolicy >
< MaxFileSize > 20 МБ < / MaxFileSize >
< / triggeringPolicy >
< / appender >
|
Также просто добавьте appender-ref под корневым элементом .
|
1
|
< appender — ref ref = CRUNCHIFYROLLINGFIXEDWINDOW / >
|
0.00 (0%) 0 votes









