我想从logback.xml中读取每个日志行中的环境变量或属性。示例如果我点击echo"${FOO_INFO}">,结果是"FOO_result",我需要在每个日志行中打印此FOO_result。
添加JAVA_OPTS="-Dfoo.info=${FOO_info}"后
我尝试了以下选项:-
选项:添加并调用%d{ISO8601}[%thread]%-5level%记录器{36}${FOO_INFO}-%msg%n
文档指出,可以通过使用具有属性转换模式%property{key}
的PatternLayout来包含系统属性,其中key
是系统属性名称。
您可以使用类似${SOME_VAR}
的系统属性,并在运行时使用-D
将该值传递到应用程序中。
所以在我的情况下:
<logger name="com.example.app" level="${SOME_LOGGING_LEVEL}"/>
和:
java -DSOME_LOGGING_LEVEL=WARN MyApp
经过验证并且有效。ofc可以在docker、docker compose和Kubernetes中使用,因为这是Logback功能。参见此处