source

JVM 인수를 통한 log4j 구성

lovecheck 2022. 11. 8. 21:11
반응형

JVM 인수를 통한 log4j 구성

log4j를 제대로 실행하려면 JVM에 인수로 설정/전달해야 하는 변수는 무엇입니까?그리고 적절하게 말하면 불평하지 않고 콘솔에 인쇄하는 것을 의미합니다.전형적인 예를 볼 수 있을까요?

주의: 응용 프로그램에서 log4j.properties 파일을 만들지 않도록 해야 합니다.

log4j 컨피규레이션파일이 있나요?

-Dlog4j.configuration={path to file}

여기서 {path to file} 접두사는 다음과 같습니다.file:

편집: log4j2를 사용하는 경우

-Dlog4j.configurationFile={path to file}

답변(https://stackoverflow.com/a/34001970/552525)에서 인용

솔루션에서는 다음 JVM 인수를 사용하고 있습니다.

-Dlog4j.configuration={path to file}

파일이 클래스 패스에 없는 경우(in)WEB-INF/classes(Tomcat의 경우) 단, 디스크상의 어딘가에서file:,맘에 들다

-Dlog4j.configuration=file:C:\Users\me\log4j.xml

자세한 내용과 예는 http://logging.apache.org/log4j/1.2/manual.html 를 참조해 주세요.

이것은 (아마 log4j2)에서 다음과 같이 변경된 것 같습니다.

-Dlog4j.configurationFile=file:C:\Users\me\log4j.xml

참조: https://logging.apache.org/log4j/2.x/manual/configuration.html

이미 답변이 끝난 것은 알고 있습니다만, 당신이 이것이 당신이 찾고 있는 것이 아니라고 말씀하셨기 때문에, 저는 다음과 같은 대안을 제시하고 싶습니다.

속성 또는 xml 파일 대신 구성 클래스를 사용할 수도 있습니다.

-Dlog4j.configuratorClass=com.foo.BarConfigurator

상세한 것에 대하여는, http://logging.apache.org/log4j/1.2/manual.html 를 참조해 주세요.

2015년부터 Log4J 1.x가 EOL에 도달했습니다.

Log4J 2.x 이후 JVM 옵션은 다음과 같습니다.-Dlog4j.configurationFile=<filename>


추신.<filename>클래스 패스에 상대적인 파일일 수 있습니다.file:다른 답변에서 제시된 바와 같이

일반적으로 log4j.properties 파일이 클래스 경로에 있는 한 Log4j는 JVM 시작 시 자동으로 해당 파일을 픽업합니다.

Relative Path도 OK입니다.

java -Dlog4j.configuration=file:".\log4j.properties" -jar com.your-1.0-SNAPSHOT.jar

또는

java -Dlog4j.configuration=file:".\log4j.xml" -jar com.your-1.0-SNAPSHOT.jar

그래들을 사용한다면.'aplication' 플러그인을 적용하고 다음 명령을 사용할 수 있습니다.

  applicationDefaultJvmArgs = [
             "-Dlog4j.configurationFile=your.xml",
                              ]

페이지(Log4j2 - Automatic Configuration)에 따르면 Log4j2에는 다음 사항이 필요합니다.

-Dlog4j2.configurationFile=<path to file>

Log4j는 "log4j2.configuration File" 시스템 속성을 검사하고 설정된 경우 파일 확장자와 일치하는 Configuration Factory를 사용하여 구성 로드를 시도합니다.이것은 로컬 파일시스템상의 로케이션에 한정되지 않고, URL 이 포함되어 있는 것에 주의해 주세요.

취득처: Log4j2 - 자동설정

언급URL : https://stackoverflow.com/questions/778933/log4j-configuration-via-jvm-arguments

반응형