Содержание
Если вам нужно добавить собственный уровень ведения журнала в Log4j, то вы можете сделать это следующим образом. Вам придется создать свой собственный класс, который будет расширяться от Level , Custom Log Levels с Apache Log4j 2.
Log4j простой и гибкий logging framework , Ведение журнала предоставляет разработчику подробный контекст для сбоев приложений . С помощью log4j возможно включить ведение журнала во время выполнения без изменения двоичного файла приложения.
Пакет log4j разработан таким образом, что эти операторы могут оставаться в поставляемом коде без больших затрат производительности .
Log4j позволяет регистрировать запросы на печать по нескольким адресатам. В log4j говорят, выходное назначение называется appender , Они варьируются от консоли, файлов, компонентов графического интерфейса, удаленных серверов сокетов до JMS.
Jar File вам нужен.
Вот зависимость Maven:
|
1
2
3
4
5
|
< зависимость >
< groupId > log4j < / groupId >
< artifactId > log4j < / artifactId >
< версия > 1.2.17 < / версия >
< / зависимость >
|
Вы должны положить log4j.xml файл под /resources папка:
Вот пример кода Java для:
- Log4j Ведение журнала для пользовательских уровней журнала в Java
- Создание собственного уровня регистрации в log4j
- Пример пользовательского регистратора log4j
CrunchifyLog4jLevel.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
пакет ком . crunchify. учебные пособия ;
Импортировать орг. апач . log4j . Уровень ;
/ **
* @author Crunchify.com
*
* /
@SuppressWarnings ( серийный )
общественности учебный класс CrunchifyLog4jLevel продолжается уровень {
/ **
* Значение уровня CrunchifyLog4jLevel. Это значение меньше, чем DEBUG_INT и выше
* чем TRACE_INT}
* /
общественности статический окончательный ИНТ CRUNCHIFY_INT знак равно DEBUG_INT — 10 ;
/ **
* Уровень, представляющий мой уровень журнала
* /
общественности статический окончательный Уровень ХРАНЧИФЫ знак равно новый CrunchifyLog4jLevel ( CRUNCHIFY_INT , Хруст , 10 ) ;
/ **
* Конструктор
* /
защищенный CrunchifyLog4jLevel ( int arg0 , строка arg1 , ИНТ arg2 ) {
супер ( arg0 , arg1 , arg2 ) ;
}
/ **
* Проверяет, находится ли logArgument на уровне CRUNCHIFY. Если да, то возвращает
* CRUNCHIFY}, иначе вызывает CrunchifyLog4jLevel # toLevel (String, Level), передавая
Это уровень # DEBUG в качестве уровня по умолчанию.
* /
общественности статический Уровень toLevel ( Строка logArgument ) {
если ( logArgument ! знак равно ноль && logArgument.toUpperCase (). equals (CRUNCHIFY)) {
возврат CRUNCHIFY;
}
вернуть ( Уровень ) toLevel ( logArgument , Уровень. Отладка ) ;
}
/ **
* Проверяет, является ли val CrunchifyLog4jLevel # CRUNCHIFY_INT. Если да то
* возвращает CrunchifyLog4jLevel # CRUNCHIFY, иначе вызывает
* CrunchifyLog4jLevel # toLevel (int, Level), передавая ему Level # DEBUG в качестве
* defaultLevel
*
* /
общественности статический Уровень toLevel ( int val ) {
если ( Val == CRUNCHIFY_INT ) {
вернуть Хрустит ;
}
вернуть ( Уровень ) toLevel ( val , Уровень. Отладка ) ;
}
/ **
* Проверяет, является ли val CrunchifyLog4jLevel # CRUNCHIFY_INT. Если да
* затем возвращает CrunchifyLog4jLevel # CRUNCHIFY, иначе вызывает Level # toLevel (int, org.apache.log4j.Level)
*
* /
общественности статический Уровень toLevel ( int val , Уровень defaultLevel ) {
если ( Val == CRUNCHIFY_INT ) {
вернуть Хрустит ;
}
вернуть Уровень. toLevel ( val , defaultLevel ) ;
}
/ **
* Проверяет, находится ли logArgument на уровне CRUNCHIFY. Если да, то возвращает
* CrunchifyLog4jLevel # CRUNCHIFY, иначе вызовы
* Level # toLevel (java.lang.String, org.apache.log4j.Level)
*
* /
общественности статический Уровень toLevel ( Строка logArgument , Уровень defaultLevel ) {
если ( logArgument ! знак равно ноль && logArgument.toUpperCase (). equals (CRUNCHIFY)) {
возврат CRUNCHIFY;
}
вернуть Уровень. toLevel ( logArgument , defaultLevel ) ;
}
}
|
Другой должен прочитать:
- Как запустить Stop Apache Tomcat Server через командную строку? (Настройка в качестве службы Windows)
- Создание и развертывание простого клиента веб-службы и веб-службы в Eclipse
Вот содержимое файла log4j.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
|
xml version = 1.0 encoding = UTF-8 ?>
< ! DOCTYPE log4j: Конфигурация системы log4j.dtd >
< log4j : конфигурация xmlns : log4j = http://jakarta.apache.org/log4j/
debug = false >
< ! — ФАЙЛ Appender — >
< appender name = FILE class = org.apache.log4j.FileAppender >
< param name = Файл значение = c: /crunchify.log / >
< param name = Append значение = ложь / >
< layout class = org.apache.log4j.PatternLayout >
< param name = ConversionPattern значение = % t% -5p% c -% m% n / >
< / layout >
< / appender >
< ! — CONSOLE Appender — >
< appender name = CONSOLE class = org.apache.log4j.ConsoleAppender >
< layout class = org.apache.log4j.PatternLayout >
< param name = ConversionPattern значение = % d {ISO8601}% -5p [% c {1}]% m% n / >
< / layout >
< / appender >
< ! — Предел категории и Укажите приоритет — >
< category name = com.crunchify >
< priority value = CRUNCHIFY class = com.crunchify.tutorials.CrunchifyLog4jLevel / >
< appender — ref ref = CONSOLE / >
< / категория >
< ! — Установка корневой категории — >
< root >
< appender — ref ref = CONSOLE / >
< / root >
< / log4j : конфигурация >
|
CrunchifyLog4jLevelTest.java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
пакет ком . crunchify. учебные пособия ;
Импортировать орг. апач . log4j . Уровень ;
Импортировать орг. апач . log4j . Регистратор ;
Импортировать ком . crunchify. учебники . CrunchifyLog4jLevel ;
/ **
* Проверяет, есть ли новый уровень журнала
* com.crunchify.tutorials.CrunchifyLog4jLevel # CRUNCHIFY} работает
*
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyLog4jLevelTest {
общественности статический недействительным main ( Строка [ ] аргументы ) {
Logger регистратор знак равно Logger. getLogger ( CrunchifyLog4jLevelTest . class ) ;
регистратор. log ( CrunchifyLog4jLevel . CRUNCHIFY , Я — журнал CrunchifyLog4jLevelTest ) ;
регистратор. log ( Level . DEBUG , «Я сообщение отладки» ) ;
}
}
|
Запустите тестовую программу, и вы должны увидеть ниже тип результата в вашем Eclipse's Console ,
|
1
2
|
2013 — 08 — 01 15 : 22 : 36 , 758 CRUNCHIFY [ CrunchifyLog4jLevelTest ] я am CrunchifyLog4jLevelTest log
2013 — 08 — 01 15 : 22 : 36 , 758 DEBUG [ CrunchifyLog4jLevelTest ] я я Сообщение отладки
|
Значение int, которое вы указываете для уровня журнала, имеет важное значение. Здесь я определил « CRUNCHIFY Уровень журнала должен быть выше, чем DEBUG уровень, но ниже, чем TRACE уровень предоставлен log4j.
Поэтому всякий раз, когда вы устанавливаете уровень приоритета DEBUG для категории (в вашем log4j.xml файл), то CRUNCHIFY журналы уровня НЕ попадут в файл журнала.
0.00 (0%) 0 votes








