483.96K
Категория: ПрограммированиеПрограммирование

0f668043-62a5-4161-9e1f-f2545338e2cd

1.

Slf4j-ді log4j-мен біріктіру.

2.

Java бағдарламасында тиімді логинг
жүйесін құру өте маңызды. Жүйенің
жұмысын бақылау, қателерді талдау және
әртүрлі операциялар мен оқиғаларды
тіркеу
үшін
лог
хабарламалары
қолданылады. Бұл мақсатқа жету үшін
Java-да көптеген логинг кітапханалары
бар, оның ішінде ең танымалдары:

3.

•SLF4J (Simple Logging Facade for Java) – Javaдағы логинг жүйелерінің абстракциясы. Ол
нақты логгерлердің алдында интерфейс
қызметін атқарады және көптеген лог
жүйелерімен интеграциялауға мүмкіндік береді.
•Log4j2 – Apache жобасы, жоғары өнімділікке
ие кең тараған логинг жүйесі. Log4j2 жүйесі
түрлі конфигурация мүмкіндіктері мен жоғары
жылдамдығымен ерекшеленеді.

4.

SLF4J мен Log4j2-нің бірігуі SLF4J интерфейсін
пайдалану арқылы Log4j2 жүйесінің
мүмкіндіктерін қолдануға мүмкіндік береді. Бұл
лекцияда біз SLF4J және Log4j2-ні біріктіру әдісін
қарастырамыз.

5.

SLF4J және Log4j2-ге жалпы шолу
SLF4J дегеніміз не?
SLF4J – бұл Java-дағы лог жүйелерінің абстракцияланған
интерфейсі. SLF4J тек интерфейсті ұсынады, яғни ол нақты
логгерлермен (мысалы, Log4j2, java.util.logging, etc.) жұмыс істей алады.
Оның басты артықшылығы – жүйе логгерін оңай ауыстыруға мүмкіндік
береді.
SLF4J-дің негізгі артықшылықтары:
•Лог жүйелерінің ауысуы жеңіл болады (мысалы, Log4j2-ден
java.util.logging-ке).
•Логгер деңгейлері (мысалы, info, debug, error) стандартты интерфейс
бойынша жұмыс істейді.
•Әртүрлі лог жүйелерімен интеграцияны қамтамасыз етеді.

6.

Log4j2 дегеніміз не?
Log4j2 – бұл Java үшін жоғары өнімді,
конфигурацияланатын және кеңейтілетін лог жүйесі. Log4j2нің басты ерекшеліктері:
•Жоғары өнімділік: Асинхронды жазу мен Log4j2-нің
жоғары жылдамдығы оны үлкен масштабты жүйелер үшін
тиімді етеді.
•Кешенді конфигурация: XML, JSON, YAML, және
properties форматында конфигурация жасау мүмкіндігі.
•Модульдік жүйе: Плагиндер арқылы функционалдығын
кеңейту мүмкіндігі.

7.

Log4j2 логгерінің негізгі компоненттері:
•Appenders: Лог жазбаларын шығаруға
арналған компоненттер (мысалы, файлға жазу,
консольге шығару).
•Layouts: Лог хабарламаларын форматтау.
•Loggers: Лог хабарламаларын жазатын негізгі
компоненттер.

8.

SLF4J мен Log4j2 арасындағы байланыс
SLF4J интерфейсі арқылы лог хабарламаларын
жазып, Log4j2 жүйесін қолданатын боламыз. SLF4J
SLF4J-Log4j2 байланыс модулін қолдану арқылы
Log4j2-нің мүмкіндіктерін қолдана алады.

9.

SLF4J мен Log4j2-ні біріктіру
SLF4J мен Log4j2-ні біріктіру үшін келесі қадамдарды орындау
қажет:
1. Тәуелділіктерді қосу
Жобаға SLF4J және Log4j2 тәуелділіктерін қосу керек. Бұл
үшін Maven немесе Gradle пайдалану арқылы қажетті
кітапханаларды жүктей аласыз.

10.

Maven тәуелділіктері:
xml
<dependencies>
<!-- SLF4J API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.0</version>
</dependency>
<!-- SLF4J-ді Log4j2-мен біріктіру үшін байланыс тәуелділігі -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>2.0.0</version>
</dependency>
<!-- Log4j2 тәуелділігі -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.20.0</version>
</dependency>
<!-- Log4j2 SLF4J байланысатын тәуелділігі -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.20.0</version>
</dependency>
</dependencies>

11.

Gradle тәуелділіктері:
gradle
dependencies {
// SLF4J API
implementation 'org.slf4j:slf4j-api:2.0.0'
// SLF4J-ді Log4j2-мен біріктіру
implementation 'org.slf4j:slf4j-log4j12:2.0.0'
// Log4j2 тәуелділігі
implementation
'org.apache.logging.log4j:log4j-core:2.20.0'
// Log4j2 SLF4J байланысатын тәуелділігі
implementation
'org.apache.logging.log4j:log4j-slf4jimpl:2.20.0'
}

12.

Конфигурация файлын жасау
Log4j2 конфигурациясын жасау үшін log4j2.xml немесе
log4j2.properties файлын қолдануға болады. Біз XML конфигурациясын
қолданамыз. Бұл файлда Log4j2-нің лог деңгейлері мен аппендерлері
(мысалы, консольге жазу) анықталады.
log4j2.xml конфигурациясы:
xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<!-- Console аппендері -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %5level: %msg%n%throwable"/>
</Console>
</Appenders>
<Loggers>
<!-- Root logger -->
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>

13.

SLF4J арқылы логгерді пайдалану
Жоғарыда көрсетілген тәуелділіктер мен конфигурациялардан кейін,
SLF4J арқылы лог жазу үшін LoggerFactory классымен логгерді
жасаймыз.
Main.java:
java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
private static final Logger logger =
LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
logger.info("Бұл ақпараттық хабарлама!");
logger.warn("Бұл ескерту хабарламасы!");
logger.error("Бұл қате хабарламасы!");
try {
int result = 10 / 0;
} catch (Exception e) {
logger.error("Қате орын алды: ", e);
}
}
}

14.

Жүйені іске қосу
1.Жоғарыда көрсетілген
тәуелділіктер мен
конфигурацияларды
жобада қолдана
отырып, жүйені іске
қосыңыз.
2.Консольде шыққан
лог хабарламаларын
тексеріңіз.
Лог деңгейлері
Log4j2 және SLF4J жүйесінде
бірнеше лог деңгейлері бар,
олардың ішінде:
•TRACE: Бағдарламаның өте төмен
деңгейдегі логтары.
•DEBUG: Бағдарлама күйін тексеру
үшін қолданылатын лог.
•INFO: Қолданушы үшін ақпараттық
хабарламалар.
•WARN: Ескерту хабарламалары.
•ERROR: Қате хабарламалары.
•FATAL: Жүйеде маңызды қателер.
English     Русский Правила