source

logback.xml 응용 프로그램 속성 액세스

manycodes 2023. 2. 10. 22:09
반응형

logback.xml 응용 프로그램 속성 액세스

logback xml에서 spring boot 어플리케이션 속성에 액세스할 수 있습니까?

application.properties

dummy.property=hello

logback.xml

${dummy.property}

이것은 효과가 없었다.

이게 효과가 있을지 아는 사람 있나요?

컨피규레이션파일명을 지정했을 경우logback-spring.xml,보다는logback.xml, 를 사용할 수 있습니다.<springProperty>Spring 환경의 속성에 액세스합니다.application.properties이것에 대해서는, 다음의 메뉴얼을 참조해 주세요.

태그를 사용하면 로그백 내에서 사용하기 위해 스프링 환경의 속성을 표면화할 수 있습니다.이것은 로그백 설정의 application.properties 파일의 값에 액세스하려는 경우에 도움이 됩니다.태그는 Logback의 표준 태그와 유사한 방식으로 작동하지만 직접 값을 지정하는 대신 (환경에서) 속성의 소스를 지정합니다.속성을 로컬 범위 이외의 장소에 저장해야 하는 경우 범위 속성을 사용할 수 있습니다.

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
    <remoteHost>${fluentHost}</remoteHost>
    ...
</appender>

http://logback.qos.ch/manual/configuration.html#variableSubstitution에 따르면

변수는 컨피규레이션파일 자체에서 한 번에 하나씩 정의하거나 외부 속성 파일 또는 외부 리소스에서 도매로 로드할 수 있습니다.
...
컨피규레이션파일에 속성이 선언되지 않았기 때문에 로그백은 시스템 속성에서 속성을 검색합니다.

로그백은 시스템 속성 또는 정의된 속성을 명확하게 사용할 수 있습니다.따라서 application.properties 파일을 사용하려면 logback을 지정해야 합니다.

<property resource="application.properties" />

컨피규레이션파일에 존재하는 프레픽스를 추가합니다.(properties, yaml)다음과 같은 행:

<springProperty scope="context" name="LOGS" source="logging.path"/>

인:logback.xml

이 경우:logging.path는 프리픽스입니다.

언급URL : https://stackoverflow.com/questions/36743386/accessing-the-application-properties-in-logback-xml

반응형