Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解从日志调用的Java类_Java_Logging_Log4j - Fatal编程技术网

了解从日志调用的Java类

了解从日志调用的Java类,java,logging,log4j,Java,Logging,Log4j,我有一个有趣的问题,我目前正在从事一个Java项目,该项目由几个Java类和Spring Hibernate组合而成。这个项目是由许多比我更早工作的开发人员创建的,现在是为了理解 我必须调试项目并交叉检查日志以了解流程。在logs.properties中,我在根级别找到了此设置: log4j.rootLogger=ERROR, CONSOLE 这清楚地表明,错误级别具有最高优先级,现在我的查询是,我将其设置为: log4j.rootLogger=DEBUG,ERROR,CONSOLE 提前

我有一个有趣的问题,我目前正在从事一个Java项目,该项目由几个Java类和Spring Hibernate组合而成。这个项目是由许多比我更早工作的开发人员创建的,现在是为了理解 我必须调试项目并交叉检查日志以了解流程。在logs.properties中,我在根级别找到了此设置:

log4j.rootLogger=ERROR, CONSOLE
这清楚地表明,错误级别具有最高优先级,现在我的查询是,我将其设置为:

log4j.rootLogger=DEBUG,ERROR,CONSOLE 

提前调试以提高调试的优先级,因为我想在日志中检查在流移动时在后台依次调用哪些Java类。我在Java类中检查了log.debug语句是否存在。这一切都正确吗?

我想您理解
log4j.rootLogger=ERROR,CONSOLE
的意思。它没有提到优先权。事实上,优先级在级别上下文中没有任何意义。事实上,它说的是根记录器的日志记录级别(由所有记录器继承)是“错误”;i、 e.默认情况下,只处理错误和更高级别(即更严重)的日志事件。(它还将“控制台”附加器连接到根记录器…)

因此,当您编写
log4j.rootLogger=DEBUG,ERROR,CONSOLE
时,它实际上没有意义。你是说这个级别既是调试级又是错误级。。。但不能两者兼而有之。(实际发生的情况是任何人的猜测……因为它超出了规范。)


至于你想做什么:

。。。为了提高调试的优先级,我一直在进行调试,因为我想在日志中检查哪些java类在流移动时在后台一个接一个地被调用,并且我已经在java类中检查了log.DEBUG语句

我很难理解那个“句子”的意思。但是,如果您试图影响日志事件在日志中的显示顺序,那么您就是运气不佳。它们(大致)以
记录器
调用的顺序出现,并且(AFAIK)您无法更改顺序


(顺便说一句,日志事件排序是“尽力而为”的。保证严格的时间排序将导致并发瓶颈,当日志记录过度影响应用程序吞吐量时,人们不喜欢这样。)

非常感谢,所以请您告诉我应该如何将级别设置为调试模式,因为我想研究如何逐个调用类。谢谢,基本上我想将调试级别设置为默认值<代码>log4j.rootLogger=调试,控制台