1. 서문
Log4J는 APACHE 소프트웨어 라이센스에 따라 릴리스 된 Java로 작성된 신뢰할 수 있고 빠르고 유연한 로깅 프레임 워크 (API)입니다. Log4J는 C, C ++, C#, Perl, Python 및 Ruby와 같은 언어로 포팅되었습니다.
Log4J는 고도로 구성 가능하며 런타임시 외부 파일을 통해 구성 할 수 있습니다. 레코드의 우선 순위 수준에 따라 다르며 데이터베이스, 파일, 콘솔, UNIX 시스템 로그 등과 같은 많은 목적지에 로깅 정보를 표시하는 메커니즘을 제공합니다.
log4J에는 세 가지 주요 구성 요소가 있습니다.
로거 : 레코드 정보 캡처를 담당합니다.
부록 : 로그 정보를 다른 선호하는 목적지에 게시 할 책임이 있습니다.
레이아웃 : 다양한 스타일의 로그 정보를 형식화하는 책임.
참고 :이 기사는 Log4J 2.X 이상을 기반으로합니다.
2. 설치
log4j-core-xx.jar
log4j-api-xx.jar
log4j-web-xx.jar (웹 프로젝트에 필요한 참조)
3. 구성
다음 참조를 추가 할 로그를 준비하십시오.
import org.apache.logging.log4j.logmanager; import org.apache.logging.log4j.logger;
정적 로거 로거 = logmanager.getLogger (test.class.getName ());
구성 파일 위치는 SRC 루트 디렉토리에 있습니다 . 구성 파일이 없더라도 오류가 없습니다. 기본적으로 콘솔 형태로 출력됩니다.
log4j2 구성 파일은 log4와 매우 다르며 (1.x 버전은 매우 다릅니다) .xml, .json 또는 .jsn 형식 만 사용할 수 있습니다. 특정 구성은 다음과 같습니다 ( ${web:rootDir} 웹 루트 디렉토리를 나타냅니다).
<? xml version = "1.0"encoding = "utf-8"?> <configuration status = "error"> <!-모든 부록을 정의합니다-> <부록> <!-이 출력 콘솔의 구성-> <콘솔 "target ="System_out "> <!-이것은 출력 로그의 형식입니다-> <PatternLayout Pattern = " %d {HH : MM : Ss.sss} %-5level %class {36} %l %m- %m- %msg %xex %n"/> </console> <!-파일은 모든 정보를 인쇄합니다. 이 로그는 실행할 때마다 자동으로 지우고, Append 속성에 의해 결정되며, 임시 테스트에 적합하며-> <file name = "error"filename = "$ {web : rootdir} /logs/error.log"부록 = "false"> <!-파일은 수준과 위의 정보를 직접 거부합니다 (Onmatch). level = "error"onmatch = "enccept"onmismatch = "deny"/> <patternlayout charset = "utf-8"pattern = " %d {hh : mm : ss.sss} %-5level %class {36} %l %m- %msg %xex %n"/> </file> <!-이것은 모든 정보를 인쇄합니다. 크기가 크기를 초과 할 때 마다이 크기의 로그는 연말에 의해 생성 된 폴더에 자동으로 저장되고 아카이브로 압축됩니다-> <RollingFile name = "RollingFile"FilEname = "$ {web : rootdir} /logs/history.log". FilePattern = "log/$$ {날짜 : yyyy-mm}/history- %d {mm-dd-yyyy}- %i.log.gz"> <patternlayout charset = "utf-8"pattern = " %d {yyyy-mm-dd 'at'hh : mm : ss z} %-5level class {36} %l %l %} 비 Appender는 로거가 정의되고 도입 된 경우에만 적용됩니다. -> <groggers> <!-기본 루트 로거 생성-> <루트 레벨 = "트레이스"> <appender-Ref ref = "error"/> <appender-ref ref = "RollingFile"/> <Appender-Ref ref = "콘솔"/> </root> </loggers> </configuration>4. 일반 프로젝트 및 웹 프로젝트
일반적인 프로젝트의 경우 위 구성은 위 구성을 완료 한 후 정상적으로 사용할 수 있으며 웹 프로젝트의 경우 로그 파일이 생성되지 않습니다. web.xml에서 <web-app> 의 루트 노드 아래에 다음 구성을 추가해야합니다.
<!-log4j2.x start-> <layer> <layer-class> org.apache.logging.log4j.web.log4jservletcontextlistener </laiseerclass> </laiseer> <filter-name> log4jservletfilter </filter-name> <filter-class> org.apache.logging.log4j.web.log4jservletfilter </filter-class> </filter> <filter-mapping> <filter-name> log4jservletfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!
요약
위는 로그 4J를 사용하여 Java 로그를 기록하는 방법입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.