我试图在一个带有Gradle的Spring Boot应用程序中使用log4j2。我有4个不同的配置文件:it、dev、mac、was
。相应地,我有4个不同的log4j2配置文件:log4j2-it.xml、log4j2-dev.xml、log4j2-mac.xml、log4j2-was.xml
。根据选定的概要文件,我希望选择正确的log4j2配置文件,以便对其进行相应的配置。
首先,为了使log4j2正常工作,我排除了spring-boot-starter-logging
,而是包含了spring-boot-starter-log4j2
。在执行此操作之前,log4j2根本不起作用。
我已经调查了这篇文章,但我无法得到公认的工作答案。根据这篇文章,设置logging.config
属性是行不通的。此外,我的项目没有开始脚本,因此不能传递带有-d
标志的参数。
我已经能够通过添加log4j2.component.properties
文件并指定要在其中使用的配置文件来选择其中一个配置文件(请参见此处),但是我还没有找到使此配置文件依赖于配置文件的方法。
我有办法完成这件事吗?例如,在运行测试时,选择it
配置文件,并且应该使用log4j2-it.xml
文件来配置日志记录。也许我错过了一些东西,因为我希望特定于概要文件的log4j2配置应该是可能的,但到目前为止我还没有找到任何可行的东西。
最后,我添加了一个@component
和一个@PostConstruct
方法
LoggerContext context = (LoggerContext)LogManager.getContext(false);
context.setConfigLocation(URI.create("path to file"));
context.reconfigure();
感谢Alan7678在这里的回答。
问题内容: 在我的application.yml中,我得到了: 还有其他一些使用不同的配置文件。启动应用程序时,我得到以下信息: 如果我只是将log4j2.xml放在已分析的文件旁边,则它可以工作。所以我认为这是我错过依赖关系的原因,或者使用log4j2无法实现? 问题答案: 在我这边,我正在使用属性文件而不是Yaml文件。我需要两个日志文件:一个将所有内容记录到控制台,另一个用于记录文件。因此,
我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放
我正在使用log4j的现有系统上工作,我想更新到log4j2。 有一个自定义Springbean从文件加载配置。我需要保持这种方法。我不能使用"log4j.configuration文件"系统属性。 我们有一个属性文件,其中指定了当前log4j.xml的路径(NFS共享) Springbean有以下代码。。。 } 在log4j2中,没有PropertyConfiguration。如何加载log4j
最近,我决定学习如何使用log4j2记录器。我下载了所需的jar文件,创建了库,xml编译文件,并尝试使用它。不幸的是,我在console(Eclipse)中得到了这样的语句: 这是我的测试类代码: 和我的xml配置文件: 我还尝试使用不带标记的xml,以及包规范和各种文件夹/包目录,但没有帮助。现在我的文件直接位于Eclipse的project文件夹中。
这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式:
本文向大家介绍Spring Boot Log4j2的配置使用详解,包括了Spring Boot Log4j2的配置使用详解的使用技巧和注意事项,需要的朋友参考一下 后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发。程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题所在。 Spring Boot 可以集成很