如何在logback.xml中使用pom.xml中的<version>标记值

时间:2017-11-29 06:34:41

标签: maven logback

我想在每个日志文件的第一个打印项目版本。 为此我需要使用我的pom.xml标签。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

是的,有一点配置。

如果使用Logback配置文件(它将使用类路径中的logback-test.xmllogback.xml),则可以使用Maven过滤。在Logback配置文件中,使用${project.version}变量配置模式,例如:

<pattern>${project.version}|%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>

配置Maven资源过滤以包含和过滤您的Logback配置,例如:

  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/resources/logback-config</directory>
        <includes>
          <include>logback-test.xml</include>
          <include>logback.xml</include>
        </includes>
      </resource>
      ...
    </resources>
    ...
  </build>

在构建项目时,Maven将在target/classes/(或配置的项目构建目录)中输出一个文件,其中${...}个标记替换为实际值。例如1.0.0-SNAPSHOT

<pattern>1.0.0-SNAPSHOT|%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>

您还需要确保使用Logback的应用程序使用此文件(即它在类路径中找到)。这将取决于您如何打包和运行您的应用程序,但由于该文件将位于项目构建目录中,因此可能会自动完成。如果您提供有关如何运行应用程序的详细信息,我会尽力提供帮助。