log4j.properties 요약 :
1. 소개
Log4J는 Apache의 오픈 소스 프로젝트입니다. Log4J를 사용하면 콘솔, 파일, GUI 구성 요소, 소켓 서버, NT 이벤트 로거, UNIX SYSLOG 데몬 등으로 로그 정보 전달 대상을 제어 할 수 있습니다. 또한 각 로그의 출력 형식을 제어 할 수 있습니다. 각 로그 정보의 수준을 정의함으로써 로그 생성 프로세스를보다 신중하게 제어 할 수 있습니다.
Log4J는 로그 정보의 우선 순위, 로그 정보의 출력 대상 및 로그 정보의 출력 형식의 세 가지 중요한 구성 요소로 구성됩니다. 로그 정보의 우선 순위는 높음에서 낮은 것입니다. 이 로그 정보의 중요성을 지정하는 데 사용되는 오류, 경고, 정보 및 디버그; 로그 정보의 출력 대상은 로그가 콘솔 또는 파일에 인쇄 될지 여부를 지정합니다. 출력 형식은 로그 정보의 표시 컨텐츠를 제어합니다.
2. 구성 파일
실제로 구성 파일을 전혀 사용할 수는 없지만 코드에서 LOG4J 환경을 구성 할 수도 있습니다. 그러나 구성 파일을 사용하면 애플리케이션이 더욱 유연 해집니다.
log4j는 두 개의 구성 파일 형식을 지원하는데, 하나는 XML 형식 파일이고 다른 하나는 속성 형식 파일입니다. 아래에서 구성 파일로 속성 형식을 사용하는 방법을 소개합니다.
예:
log4j.rootlogger = info, a1 log4j.appender.a1 = org.apache.log4j.consoleappender log4j.appender.a1.layout = org.apache.log4j.patternlayout log4J.Appender.a1.layout.conversionpattern = %-4R %-5p %t]
1. 루트 로거를 구성하면 구문은 다음과 같습니다.
log4j.rootlogger = [level], 부록, 부록 이름,…
그중에서도 레벨은 로깅의 우선 순위, 꺼짐, 치명적, 오류, 경고, 정보, 디버그, 정의하는 수준으로 나뉩니다. Log4J는 4 레벨 만 사용하는 것이 좋습니다. 오류, 경고, 정보 및 디버그는 높음에서 낮은 곳에서 우선 순위로 우선 순위가 있습니다. 여기에 정의 된 레벨에 따라 응용 프로그램의 해당 로그 정보 수준으로 스위치를 제어 할 수 있습니다. 예를 들어, 정보 수준이 여기에 정의되면 응용 프로그램의 모든 디버그 레벨 로그 정보는 인쇄되지 않습니다.
부록 이름은 로그 정보가 출력되는 위치를 지정합니다. 여러 출력 대상을 동시에 지정할 수 있습니다.
2. 구문이있는 로그 정보 출력 대상 Appender를 구성하십시오.
log4j.appender.appendername = fully.qualified.name.of.appender.class log4j.appender.appendername.option1 = value1… log4j.appender.appendername.option = Valuen
그 중에서도 Log4J가 제공 한 부록은 다음과 같습니다.
org.apache.log4j.consoleappender (console), org.apache.log4j.fileappender (파일), org.apache.log4j.dailyrollingfileappender (매일 로그 파일 생성), org.apache.log4j.rollingfileAppender (구체화 된 크기에 도달 할 때 새 파일 생성), org.apache.log4j.writerappender (지정된 장소로 스트림 형식으로 로그 정보 보내기)
(1)
임계 값 = WARN : 로그 메시지의 가장 낮은 수준의 출력을 지정합니다. 즉시 플러시 = true : 기본값은 true이므로 모든 메시지가 즉시 출력됩니다. Target = System.err : 기본적으로 : System.out, 출력 콘솔을 지정합니다.
(2) .FileAppender 옵션
임계 값 = WARN : 로그 메시지의 가장 낮은 수준의 출력을 지정합니다.
즉시 플러시 = true : 기본값은 true이므로 모든 메시지가 즉시 출력됩니다.
file = mylog.txt : 메시지가 mylog.txt 파일에 출력을 지정합니다.
부록 = false : 기본값은 true이므로 지정된 파일에 메시지를 추가하는 것을 의미합니다. 거짓은 메시지를 지정된 파일 내용으로 덮어 쓰는 것을 의미합니다.
(3) .DailyrollingFileAppender 옵션
임계 값 = WARN : 로그 메시지의 가장 낮은 수준의 출력을 지정합니다.
즉시 플러시 = true : 기본값은 true이므로 모든 메시지가 즉시 출력됩니다.
file = mylog.txt : 메시지가 mylog.txt 파일에 출력을 지정합니다.
부록 = false : 기본값은 true이므로 지정된 파일에 메시지를 추가하는 것을 의미합니다. 거짓은 메시지를 지정된 파일 내용으로 덮어 쓰는 것을 의미합니다.
DatePattern = '.'YYYY-WW : 일주일에 한 번 파일을 스크롤하십시오. 물론 매월, 주, 주, 주, 시간 및 분을 지정할 수도 있습니다. 즉, 해당 형식은 다음과 같습니다.
1) '.'yyyy-mm : 매월
2) '.'Yyyy-WW : 주간
3) '.'yyyy-mm-dd : 매일
4) '.'yyyy-mm-dd-a : 하루에 두 번
5) '.'yyyy-mm-dd-hh : 시간별
6) '.'yyyy-mm-dd-hh-mm : 분당
(4). RollingFileAppender 옵션
임계 값 = WARN : 로그 메시지의 가장 낮은 수준의 출력을 지정합니다.
즉시 플러시 = true : 기본값은 true이므로 모든 메시지가 즉시 출력됩니다.
file = mylog.txt : 메시지가 mylog.txt 파일에 출력을 지정합니다.
부록 = false : 기본값은 true이므로 지정된 파일에 메시지를 추가하는 것을 의미합니다. 거짓은 메시지를 지정된 파일 내용으로 덮어 쓰는 것을 의미합니다.
MaxFilesize = 100KB : 접미사는 KB, MB 또는 GB 일 수 있습니다. 로그 파일 이이 크기에 도달하면 자동으로 스크롤되며 원래 콘텐츠가
mylog.log.1 파일.
MaxbackupIndex = 2 : 생성 할 수있는 최대 스크롤 파일 수를 지정합니다.
3. 로그 정보의 레이아웃을 구성하며 구문은 다음과 같습니다.
log4j.appender.appendername.layout = full.qualified.name.of.layout.class
log4j.appender.appendername.layout.option1 = value1
…
log4j.appender.appendername.layout.option = valuen
그중에서도 Log4J가 제공하는 레이아웃은 다음과 같습니다.
org.apache.log4j.htmllayout (HTML 테이블 양식의 레이아웃),
org.apache.log4j.patternlayout (레이아웃 모드를 유연하게 지정할 수 있음),
org.apache.log4j.simplelayout (로그 정보의 레벨 및 정보 문자열 포함),
org.apache.log4j.ttcclayout (로그 생성의 시간, 스레드, 카테고리 등 포함)
4. 출력 형식 설정
구성 파일에서 log4j.appender.a1.layout.conversionpattern을 통해 로그 출력 형식을 설정할 수 있습니다.
매개 변수 :
%P : 출력 로그 정보 우선 순위, 즉 디버그, 정보, 경고, 오류, 치명적인, 치명적,
%D : 로그 시점의 날짜 또는 시간은 출력입니다. 기본 형식은 ISO8601입니다. 다음과 같은 다음과 같은 형식을 지정할 수도 있습니다.
%R : 응용 프로그램 시작 에서이 로그 정보의 출력으로 출력 할 밀리 초 수
%C : 출력 로그 정보가 속한 범주는 일반적으로 클래스의 전체 이름입니다.
%t : 로그 이벤트를 생성하는 스레드 이름을 출력
%L : 출력 로그 이벤트는 범주 이름, 발생 스레드 및 코드의 라인 수를 포함하여%C.%M (%F :%L)의 위치에서 발생합니다. 예 : TestLog4.Main (TestLog4.java:10)
%X : 현재 스레드와 관련된 NDC (중첩 진단 환경)의 출력, 특히 다중 커스토머 및 멀티 스레딩이있는 Java 서블릿과 같은 응용 프로그램에서.
%% : "%"문자를 출력하십시오
%F : 출력 로그 메시지가 생성 된 파일 이름
%L : 출력 코드의 줄 번호
%M : 출력 코드에 지정된 메시지 및 생성 된 특정 로그 정보
%N : 캐리지 리턴 라인 브레이크 출력, Windows 플랫폼은 "/r/n"이며, UNIX 플랫폼은 "/n"이며 로그 정보 라인 브레이크를 출력합니다.
수정자는 %와 패턴 문자 사이에 추가하여 최소 너비, 최대 너비 및 텍스트 정렬을 제어 할 수 있습니다. 좋다:
1)%20c : 출력 범주의 이름을 지정하고 최소 너비는 20입니다. 범주의 이름이 20 미만인 경우 기본적으로 오른쪽으로 정렬됩니다.
2)%-20C : 출력 범주의 이름을 지정합니다. 최소 너비는 20입니다. 범주의 이름이 20보다 작은 경우 "-"부호는 왼쪽 정렬을 지정합니다.
3)%. 30C : 출력 범주의 이름을 지정하십시오. 최대 너비는 30입니다. 카테고리 이름이 30보다 크면 왼쪽의 추가 문자가 차단되지만 30 미만이면 공백이 없습니다.
4)%20.30c : 카테고리 이름이 20 미만인 경우 공간을 채우고 올바르게 정렬하십시오. 이름이 30 자 미만인 경우 왼쪽에서 가로 채는 문자를 잘라냅니다.
3. log4j.properties 파일을로드하십시오
1. 스프링 모드, 구성 및 web.xml에서로드 :
Spring Loads Log4J.Properties는 log4jconfiglistener를 제공하는 Log4J.properties를 제공합니다. log4jconfiglistener는 log4j 구성 파일과 Web.xml 구성을 통해 지정된 위치에서 Log4J 출력 경로를로드 할 수 있습니다. 그것은 주목해야합니다
log4jconfiglistener는 Spring의 청취자 앞에 있어야합니다.
web.xml
<!-sprng에 의해로드 된 log4J 구성 파일의 위치를 설정-> <countxt-param> <param-name> log4jconfiglocation </param-name> <param- value> web-inf/classes/log4j.properties </param- value> </context-param> <!-스프링의 구간에 대한 구간에 대한 구간을 새로 고치는 간격 -> <ceentxt-param> <param-name> log4jrefreshinterval </param-name> <param-value> 10000 </param- value> </context-param> <Leater> org.springframework.web.util.log4jconfiglistener </hareser class>
2. 리소스 파일은 리소스 클래스를 통해로드 될 수 있으며 사용과 통합됩니다.
public class testlog4j {public static void main (String [] args) {propertyconfigurator.configure ( "d : /code/conf/log4j.properties"); logger logger = logger.getLogger (TestLog4j. Class); logger.debug ( "디버그"); logger.error ( "오류"); }}4. 프로그램에서 사용하십시오
프로그램에서 Log4J를 사용하기 전에 먼저 Commons-Logging.jar 및 Logging-Log4J-1.2.9.jar를 ClassPath로 가져 와서 SRC 루트 디렉토리에 log4J.properties를 배치해야합니다. 다음에 사용할 준비가됩니다.
1. 레코더를 얻으십시오
Log4J를 사용하여 첫 번째 단계는 로그 정보를 제어하는 로그 레코더를 얻는 것입니다. 구문은 다음과 같습니다.
공개 정적 로거 getLogger (문자열 이름),
지정된 이름으로 로거를 가져 와서 필요한 경우 이름에 대한 새 로거를 만듭니다. 이름은 일반적 으로이 클래스에서 다음과 같이 명명됩니다.
static logger logger = logger.getLogger (ServerWithLog4j.class.getName ());
참고 : 로깅을 위해 Log4J와 결합 된 커먼즈 로깅을 사용하는 것이 좋습니다.
개인 정적 로그 로거 = logfactory.getLog (yourclass.class);
2. 레코드 정보 삽입 (형식 로그 정보)
이전의 두 단계가 완료되면 로그를 기록 할 때 어디서나 다른 우선 순위 레벨의 로깅 문을 쉽게 삽입 할 수 있습니다. 구문은 다음과 같습니다.
logger.debug (객체 메시지); logger.info (객체 메시지); logger.warn (객체 메시지); logger.error (객체 메시지);
예를 들어:
import org.apache.log4j.*; public class logtest ... {static logger = logger.getLogger (logtest.class.getName ()); public static void main (String [] args) ... {// propertyconfigurator를 통해 log4j.properties 파일을로드합니다. 이 문장을 추가하지 않으면 Spring Loading PropertyConfigurator.configure ( "./srclog4j.properties"); logger.debug ( "디버그 ..."); logger.info ( "정보 ..."); logger.warn ( "경고 ..."); logger.error ( "오류 ..."); }}요약
위는 로그4J.properties 구성 및로드 애플리케이션입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!