我正在使用spring-boot-starter,并想配置log4j2.xml以将异步+不同内容记录到不同的日志文件。我创建了log4j2文件,但Spring仍然使用spring-boot默认日志记录。如何切换日志记录? 最佳答案 我有更好的办法:排除logback记录器:org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-logging添加log4j2启动器:org.springframework.bootsp
我正在使用spring-boot-starter,并想配置log4j2.xml以将异步+不同内容记录到不同的日志文件。我创建了log4j2文件,但Spring仍然使用spring-boot默认日志记录。如何切换日志记录? 最佳答案 我有更好的办法:排除logback记录器:org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-logging添加log4j2启动器:org.springframework.bootsp
我正在使用传统方式加载log4j.xmllog4jConfigLocationclasspath:conf/log4j.xmlorg.springframework.web.util.Log4jConfigListener这很好用,但现在我需要根据我所处的环境加载不同的log4j.xml文件只需将其更改为log4jConfigLocationclasspath:conf/log4j-${ENV-NAME}.xmlorg.springframework.web.util.Log4jConfigListener并且spring将在每个环境中加载正确的log4j文件,但这可能不起作用,因为w
我正在使用传统方式加载log4j.xmllog4jConfigLocationclasspath:conf/log4j.xmlorg.springframework.web.util.Log4jConfigListener这很好用,但现在我需要根据我所处的环境加载不同的log4j.xml文件只需将其更改为log4jConfigLocationclasspath:conf/log4j-${ENV-NAME}.xmlorg.springframework.web.util.Log4jConfigListener并且spring将在每个环境中加载正确的log4j文件,但这可能不起作用,因为w
我是log4j的新手,所以请保持温柔。但这是正在发生的事情,我不知道为什么:它正确地记录到一个文件,但创建的日志的文件名似乎是错误的。这是我的log4j配置:-->它在日志文件夹下创建一个log4j.log文件而不是messagecount.log文件。该值属性是否不符合我的预期?这是我初始化记录器的方式:类级变量:privatestaticLoggerlogger=Logger.getLogger(MessageCount.class);初始化函数:privatevoidinitLogger()throwsIOException{Propertiesprops=newProperti
如果log4j属性有多个文件附加程序,那么在Java中我如何确保日志写入特定文件。log4j.rootLogger=INFO,outlog4j.appender.SUCCESS_FILE=org.apache.log4j.FileAppenderlog4j.appender.SUCCESS_FILE.File=${dd.log.dir}/success.loglog4j.appender.VALID_FILE=org.apache.log4j.FileAppenderlog4j.appender.VALID_FILE.File=${dd.log.dir}/valid_error.log
第一个例子:publicclassMain{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(Main.class);publicstaticvoidmain(String[]args)throwsException{try{thrownewRuntimeException(newNullPointerException("NPE"));}catch(RuntimeExceptione){logger.error("Error:",e);}}}输出:Error:java.lang.RuntimeException:java.l
具有以下配置文件:仅将(所有)日志输出写入控制台。然而,我打算将error以上的任何内容写入名为error.log的文件,格式略有不同。但是,运行我的应用程序会导致所有内容都写入控制台,留下一个空文件(已创建,只是未填充)。不知何故,Root记录器似乎捕获了所有内容,因为我也尝试过这个:不会记录两次。我真的没有想法,我什至从文档(sample#2fromhere)中复制了一个示例,并且还留下了一个空文件。 最佳答案 是的,根记录器级别是ALL,因此它将接收所有事件。一种选择是这样做:这样你只有一个记录器,所以你不需要担心可加性,在你
我们正在使用Spring框架在Java中开发基于Web的应用程序。我们想知道哪种日志记录系统最适合它,是Log4j还是与jdk集成的JUL(java.util.Logging)。就我而言,前者在开发人员中更受欢迎,并提供更高的定制选项,但我不确定哪个更容易适应spring。任何帮助将不胜感激。谢谢! 最佳答案 在开始使用log4j之前,请先查看logback.Log4j不应再用于新项目。如果您有需要任何日志记录框架的遗留代码,请使用slf4j使旧代码与logback(或log4j,如果必须的话)对话。你不应该使用JUL的主要原因是它
我正在使用org.slf4j.Logger来记录输出。输出将用于控制台。如何将日志记录记录到日志文件中?privatestaticfinalLoggerLOG=LoggerFactory.getLogger(ClassName.class);LOG.info("Loggingoutputtoconsole");我没有使用log4j.properties文件。我假设我需要一个。我添加了以下log4j.properties文件并将其放置在我的eclipse项目的不同部分。#Definethefileappenderlog4j.appender.FileAppender=org.apache