로거를 사용하는 이유
로거
Java에서 로깅은 개발자가 오류를 추적하는 데 도움이 되는 중요한 기능입니다. Java는 로깅 접근 방식과 함께 제공되는 프로그래밍 언어입니다. Java 1.4 버전에서 도입된 Logging API를 제공합니다. 로그 파일을 캡처하는 기능을 제공합니다.
로거의 구성 요소
로거 — 레코더.
핸들러 또는 어펜더 — 로그를 보낼 위치(콘솔, 파일 등)
포맷터 또는 레이아웃 — 로그를 표시하는 방법.
다른 로거
왜 로거인가?
애플리케이션/프레임워크를 구축하는 동안 종종 디버깅해야 하는 오류에 직면하게 됩니다. 따라서 로그의 도움으로 오류 및 비정상적인 상황 기록이 있는 앱 또는 프레임워크 내에서 일어나는 일에 대한 정보를 쉽게 얻을 수 있습니다. 이제 Java에서 System.out.print() 문을 사용하지 않는 이유에 대해 생각할 수 있습니다. 음, 이 문장의 문제는 로그 메시지가 콘솔에만 출력된다는 것입니다. 따라서 콘솔을 닫으면 자동으로 모든 로그가 손실됩니다. 따라서 단일 스레드 환경이므로 로그가 영구적으로 저장되지 않고 하나씩 표시됩니다.
이 게시물에서는 데모를 위해 Logback 로거 라이브러리를 사용합니다.
로거 레벨 설명:
메이븐 종속성:
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.11</version>
<scope>test</scope>
</dependency>
logback-test.xml(컨벤션은 리소스 폴더에 보관하는 것입니다)
<configuration>
<!-- Console Appender -->
<appender name="console-appender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- File Appender -->
<appender name="file-appender" class="ch.qos.logback.core.FileAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<file>trace.log</file>
<append>false</append>
</appender>
<root level="ALL">
<appender-ref ref="console-appender" />
<appender-ref ref="file-appender" />
</root>
</configuration>
MainClass.java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainClass {
public static void main(String[] args) {
// initializing logger
Logger logger = LoggerFactory.getLogger(MainClass.class);
logger.trace("trace-log");
logger.debug("debug-log");
logger.info("info-log");
logger.warn("warn-log");
logger.error("error-log");
}
}
우리의 경우에는 2개의 Appender를 사용하고 있습니다.
Console Appender : 로그를 콘솔에 출력합니다.
File Appender : 로그를 파일로 전송합니다.
2개의 다른 어펜더와 로그 형식을 언급한 logback-test.xml을 참조하십시오.
콘솔 인쇄:
21:21:32.722 [main] TRACE MainClass - trace-log
21:21:32.722 [main] DEBUG MainClass - debug-log
21:21:32.722 [main] INFO MainClass - info-log
21:21:32.727 [main] WARN MainClass - warn-log
21:21:32.727 [main] ERROR MainClass - error-log
trace.log
21:21:32.722 [main] TRACE MainClass - trace-log
21:21:32.722 [main] DEBUG MainClass - debug-log
21:21:32.722 [main] INFO MainClass - info-log
21:21:32.727 [main] WARN MainClass - warn-log
21:21:32.727 [main] ERROR MainClass - error-log
Reference
이 문제에 관하여(로거를 사용하는 이유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arvind_choudhary/why-to-use-loggers-3b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)