Рівні журналювання використовуються для класифікації записів у файлі журналу. Але вони класифікуються дуже специфічним чином, тобто за терміновістю. Рівень дозволяє відокремити наступні види інформації:
Довжина масиву в java
- Ви можете відфільтрувати файли журналу під час пошуку.
- Ви можете керувати обсягом інформації, яку ви реєструєте.
Обсяг і тип інформації, що надається системою, і журнали подій контролюються параметрами рівня log4j у файлі конфігурації. Кожне повідомлення журналу має префікс рівня повідомлення.
Рівні журналювання є прикладом org.apache.log4j.Level клас.
Log4j має такі рівні журналювання:
Рівень журналу | опис |
---|---|
ВСЕ | Цей рівень вмикає всі рівні журналювання. Він включає спеціальні рівні журналювання, які ви визначили. Після того, як цей параметр буде налаштовано, а рівні взагалі не розглядатимуться, усі додавачі почнуть записувати події журналу у файли журналу. |
ВІДЛАГОДЖУВАТИ | Налагодження часто використовується для налагодження програми під час розробки. Після встановлення цього рівня кожне повідомлення журналу з’являтиметься у файлах журналу. В основному він належить розробникам. |
ІНФО | Рівень журналювання INFO використовується для запису повідомлень про рутинну роботу програми. У режимі реального часу системні адміністратори спостерігають за інформаційними журналами, щоб переконатися, що зараз відбувається в системі та чи є якісь проблеми в нормальному режимі. |
ПОПЕРЕДЖЕННЯ | Рівень журналу WARN використовується для вказівки на те, що у вас можуть виникнути проблеми та що ви виявили незвичайну ситуацію. Можливо, ви вимагали запустити службу, і вона кілька разів зазнала збою, перш ніж підключитися під час автоматичної повторної спроби. Це несподівано та незвичайно, але реальної шкоди не завдано, і невідомо, чи проблема залишиться чи повториться. Хтось повинен досліджувати попередження. |
ПОМИЛКА | Рівень журналу ERROR використовується для позначення серйозної проблеми, яку необхідно негайно дослідити. Не така серйозна, як FATAL, але все ж проблема. Це просто означає, що ваша програма потрапила в дійсно небажаний стан. Наприклад, несподівано відформатований вхід, недоступність бази даних. |
ФАТАЛЬНИЙ | Рівень журналу FATAL, як і ERROR, означає проблему. Але на відміну від ERROR, це означає дуже серйозну помилку. У звичайний день ви не будете дуже думати про їхню присутність, але як тільки вони з’являються, це означає дуже погані новини, навіть загрозу смерті. |
ВИМК | Це найвищий можливий ранг, призначений для вимкнення журналювання. |
СЛІД | Це нещодавно було представлено у версії 1.2 і містить більше інформації для журналів рівня налагодження. |
Як встановити рівні журналу?
Встановіть рівень журналу в log4j.properties
log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender
Встановіть рівень журналу в log4j.xml
Як працюють рівні журналу?
Робота з рівнями журналювання насправді дуже проста. Під час виконання код програми створюватиме запити на журналювання, які матимуть рівень. У той же час у структурі журналювання налаштовано рівень журналювання, який діє як порогове значення. Якщо рівень запиту знаходиться на налаштованому рівні або вищому рівні, він реєструється до налаштованої цілі. Якщо ні, це відхилено. Це так просто.
Розглянемо це як наступний порядок рангу для рівнів:
ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>
Програма Java:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
Тепер скомпілюйте та запустіть наведену вище програму, і ми отримаємо такий вихід у файлі c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!