Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从系统变量值读取logback.xml_Java_Xml_Maven - Fatal编程技术网

Java 从系统变量值读取logback.xml

Java 从系统变量值读取logback.xml,java,xml,maven,Java,Xml,Maven,我有一个使用maven jar插件构建的项目。对于日志记录,我使用logback.xml,我希望我的logback.xml不在executableJar中。对于读取logback.xml,我设置了一个新的环境变量,我将logback.xml放入其中。我如何告诉我的项目使用这个变量来查找配置文件 你可以这样做。在jar(src/resources/)中添加一个骨架logback.xml,如下所示: <configuration> <include resource="fi

我有一个使用maven jar插件构建的项目。对于日志记录,我使用logback.xml,我希望我的logback.xml不在executableJar中。对于读取logback.xml,我设置了一个新的环境变量,我将logback.xml放入其中。我如何告诉我的项目使用这个变量来查找配置文件

你可以这样做。在jar(src/resources/)中添加一个骨架logback.xml,如下所示:

<configuration>
    <include resource="file:${LOG_CONFIG_DIR}/logback-app.xml"/>
</configuration>

然后在启动时,您可以在jar外部使用logback-app.xml,如下所示

<included>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{60} %mdc{applicationName} %mdc{environment}
                %mdc{gearid} - %msg%n
            </Pattern>
        </layout>
    </appender>

    <logger name="org.apache" level="ERROR"/>

    <root level="trace">
        <appender-ref ref="STDOUT"/>
    </root>

</included>

%d{HH:mm:ss.SSS}[%thread]-5级别%logger{60}%mdc{applicationName}%mdc{environment}
%mdc{gearid}-%msg%n
然后在开始时,您可以像这样连接外部文件:

爪哇-DLOG_CONFIG_DIR=/directory….

请参阅本手册:

您可以使用如下命令:

java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1