当前位置: 首页 > 知识库问答 >
问题:

如何在 IDE 中使用一个 log4j2 配置文件进行运行时,使用另一个 log4j2 配置文件进行打包/部署?

沙宣
2023-03-14

使用 Eclipse 06-2021,Maven,log4j2。

我使用log4j2框架登录我的应用程序。我在log4j2.properties文件的resources文件夹中创建了配置。

我在那里定义了一些记录器及其级别:

...
logger.filelogconvert.appenderRef = FileLogConvert
logger.fileloggeneral.appenderRef = FileLogGeneral
rootLogger.appenderRef.console.ref = FileLogGeneral

logger.fileloggeneral.level = warn
rootLogger.level = warn

但是,当我想要部署应用程序时,我需要重写这个文件,因为我需要将级别从< code>info更改为< code>warn或者更改appender/logger引用。

共有1个答案

巫马修为
2023-03-14

使用log4j2-test.properties文件:https://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration

...
logger.filelogconvert.appenderRef = Console
logger.fileloggeneral.appenderRef = Console
rootLogger.appenderRef.console.ref = Console

logger.fileloggeneral.level = info
rootLogger.level = info

然后在pom中将其排除在pom中.xml在jar插件中:

<build>
    ...
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
            <excludes>
                <exclude>log4j2-test.properties</exclude>
            </excludes>
        </configuration>
    </plugin>
    ...
</build>

当然还有其他几种方法可以实现这一点。

 类似资料:
  • 问题内容: 我已将应用程序迁移到log4j 2,并通过log4j2.xml对其进行了配置 但是,我正在使用的某些库取决于log4j1。如果我使用以下命令运行该应用程序: log4j 1抱怨找不到配置文件。我正在使用log4j 2,log4j-1.2-api-2.0-rc1.jar提供的log4j 1.x桥。是否可以使用单个log4j2.xml进行配置? 我尝试过的替代方法是同时配置log4j和lo

  • 我已经将应用程序迁移到Log4J2,并通过log4j2.xml对其进行了配置 但是,我使用的一些库依赖于log4j1。如果我使用以下方式运行应用程序: 我尝试的另一种方法是将log4j和log4j2配置在一起: 我担心的是日志配置文件和输出的碎片化。我还担心log4j.xml和log4j2.xml之间可能存在的冲突。例如,logfile Error.log被配置为使用log4j1中的FileApp

  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 我正在用Java 11和Maven创建一个测试框架,并且我已经为单独的测试构建了两个不同的运行程序。我只想运行一个配置文件,但它一直运行两个配置文件。以下是我的个人资料:

  • 我在类路径中有一个log4j2.xml配置文件。其中一个附加器是一个文件附加器,我想在Java应用程序的运行时设置目标文件名。 根据文档,我应该能够在log4j2.xml文件中使用双“$”和上下文前缀: 其中“sys”前缀表示配置器将在系统属性中查找属性“logfilename”。所以在应用程序中,我调用(相当早的时候): 我还在xml文件中为log4j2打开了自动重新配置: 不幸的是,这没有任何

  • 这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式:

  • 最近,我决定学习如何使用log4j2记录器。我下载了所需的jar文件,创建了库,xml编译文件,并尝试使用它。不幸的是,我在console(Eclipse)中得到了这样的语句: 这是我的测试类代码: 和我的xml配置文件: 我还尝试使用不带标记的xml,以及包规范和各种文件夹/包目录,但没有帮助。现在我的文件直接位于Eclipse的project文件夹中。

  • 我是新来的。我想知道他们的任何其他方法来设置连接端口,管理端口,记录器级别和所有配置参数,而不是通过使用。YML 文件。