我刚刚完成了log4j2.xml配置文件的调整,发现了一些我不太明白的地方。那么什么是?几乎在所有示例中:http://logging.apache.org/log4j/2.x/manual/configuration.html来自Apache的人员将状态添加到配置中。例如这里是第一个: 最佳答案 状态记录器由log4j2组件在内部使用。在配置中设置status="debug"(或“trace”)将导致此内部日志记录输出到命令行。它将打印有关加载了哪些log4j2插件组件的调试信息(所有配置元素都映射到log4j2插件),以及更多详
我刚刚完成了log4j2.xml配置文件的调整,发现了一些我不太明白的地方。那么什么是?几乎在所有示例中:http://logging.apache.org/log4j/2.x/manual/configuration.html来自Apache的人员将状态添加到配置中。例如这里是第一个: 最佳答案 状态记录器由log4j2组件在内部使用。在配置中设置status="debug"(或“trace”)将导致此内部日志记录输出到命令行。它将打印有关加载了哪些log4j2插件组件的调试信息(所有配置元素都映射到log4j2插件),以及更多详
我阅读了一些关于如何使用log4j的文章。他们中的大多数以下面的代码作为开始:Loggerlogger=Logger.getLogger("com.foo.Bar");或Loggerlogger=Logger.getLogger(XXX.class);这将初始化记录器对象。但我的问题是为什么需要发送类类型作为参数?似乎当我使用记录器时,我不在乎我在哪个类中使用它。所以类类型似乎对记录器没有影响。如果我将一个记录器声明为静态和公共(public)的,我可以在另一个类中调用这个记录器,那么作者这样设计它的意图是什么?当我使用记录器时,Class类型会绑定(bind)一些东西吗?或者我可以将
我阅读了一些关于如何使用log4j的文章。他们中的大多数以下面的代码作为开始:Loggerlogger=Logger.getLogger("com.foo.Bar");或Loggerlogger=Logger.getLogger(XXX.class);这将初始化记录器对象。但我的问题是为什么需要发送类类型作为参数?似乎当我使用记录器时,我不在乎我在哪个类中使用它。所以类类型似乎对记录器没有影响。如果我将一个记录器声明为静态和公共(public)的,我可以在另一个类中调用这个记录器,那么作者这样设计它的意图是什么?当我使用记录器时,Class类型会绑定(bind)一些东西吗?或者我可以将
有没有办法告诉log4j将其日志写入文件和控制台?谢谢有我的属性:log4j.rootLogger=DEBUG,console,Rlog4j.rootLogger=INFO,FILElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.conversionPattern=%d
有没有办法告诉log4j将其日志写入文件和控制台?谢谢有我的属性:log4j.rootLogger=DEBUG,console,Rlog4j.rootLogger=INFO,FILElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.conversionPattern=%d
我想将一些log.debug语句添加到我正在处理的类中,并且我希望在运行测试时在输出中看到它。我想覆盖命令行上的log4j属性,如下所示:-Dlog4j.logger.com.mypackage.Thingie=DEBUG我经常做这种事情。我只对在命令行上传递它的方法感兴趣。我知道如何使用配置文件来做到这一点,但这不适合我的工作流程。 最佳答案 作为jvm参数的一部分,您可以设置-Dlog4j.configuration=file:"".其中FILE_PATH是log4j.properties文件的路径。请注意,自log4j2起,要
我想将一些log.debug语句添加到我正在处理的类中,并且我希望在运行测试时在输出中看到它。我想覆盖命令行上的log4j属性,如下所示:-Dlog4j.logger.com.mypackage.Thingie=DEBUG我经常做这种事情。我只对在命令行上传递它的方法感兴趣。我知道如何使用配置文件来做到这一点,但这不适合我的工作流程。 最佳答案 作为jvm参数的一部分,您可以设置-Dlog4j.configuration=file:"".其中FILE_PATH是log4j.properties文件的路径。请注意,自log4j2起,要
我有一个使用log4j的java应用程序。配置:log4j.rootLogger=info,filelog4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.File=${user.home}/logs/app.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d[%t]%c%p%m%n所以所有日志语句都正确附加到文件中,但
我有一个使用log4j的java应用程序。配置:log4j.rootLogger=info,filelog4j.appender.file=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.File=${user.home}/logs/app.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d[%t]%c%p%m%n所以所有日志语句都正确附加到文件中,但