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日志记录与slf4j、log4j和java.util.logging混合在一起_Java_Logging_Log4j_Java.util.logging - Fatal编程技术网

将java日志记录与slf4j、log4j和java.util.logging混合在一起

将java日志记录与slf4j、log4j和java.util.logging混合在一起,java,logging,log4j,java.util.logging,Java,Logging,Log4j,Java.util.logging,我正在Weblogic服务器上运行web应用程序(我不太熟悉)。 通过JVM参数,log4j配置与日志级调试一起传递给应用程序。 在日志文件中,我还可以找到一些调试级别的日志条目 到目前为止还不错。 在调试期间,我发现一些对logger.debug()的调用不在日志文件中 私有静态最终org.slf4j.Logger Logger=LoggerFactory.getLogger(ActionCtr.class) 方法调用肯定被命中,但没有写入文件 如果在调试过程中执行步骤,我会在记录器中看到:

我正在Weblogic服务器上运行web应用程序(我不太熟悉)。
通过JVM参数,log4j配置与日志级调试一起传递给应用程序。 在日志文件中,我还可以找到一些调试级别的日志条目

到目前为止还不错。
在调试期间,我发现一些对logger.debug()的调用不在日志文件中

私有静态最终org.slf4j.Logger Logger=LoggerFactory.getLogger(ActionCtr.class)

方法调用肯定被命中,但没有写入文件

如果在调试过程中执行步骤,我会在记录器中看到: org.slf4j.impl.JDK14LoggerAdapter(com.example.application.ActionCtr) “java.util.logging.FileHandler.pattern”->%h/java%u.log”

这给我带来了一些问题(因为我无法更改正在运行的应用程序):
1) 如果应用程序使用的是混合的log4j和java.util.logging,那么它怎么可能使用这个应用程序呢
2) 如何确定在哪些类中使用了哪些内容?
3) 没有%h/java%u.log(~/java*.log),因此我尝试提供一个java.util.logging一致属性文件, 但这并没有改变什么-我如何确定运行的记录器从何处获得配置以正确配置它

1) 如果应用程序使用的是混合的log4j和java.util.logging,它怎么会使用呢

应用程序可以直接使用这些日志框架,也可以使用应用程序正在使用的依赖库。不需要太多的依赖关系就可以得到一堆日志框架搭便车者

本文解释了日志框架是如何与所有其他框架相结合的。这就是为什么您会看到org.slf4j.impl.JDK14LoggerAdapter

我如何确定在什么类中使用了什么

假设你指的是直接使用,你可以使用或

我如何确定正在运行的记录器从何处获取配置以正确配置它

该工具可以在运行时访问JUL记录器。它还将显示所有系统属性,其中可能包括指向
logging.properties
文件的路径

如果应用程序以非标准方式实际配置日志记录,那么一个选项是使用
access
选项。在安全管理器下运行应用程序将获得所有或所有必需的权限,然后启用访问跟踪