我在Weblogic服务器上运行一个web应用程序(我并不熟悉)。
通过JVM args将带有日志级调试的log4j配置传递给应用程序。在日志文件中,我还可以找到一些调试级别的日志条目。
到目前为止还不错。
在调试期间,我发现一些对logger.debug()的调用不在日志文件中。
如果在调试过程中执行一步,我会在记录器:org.slf4j.impl.jdk14LoggerAdapter(com.example.application.actionCTR)中看到“java.util.logging.filehandler.pattern”->“%h/java%u.log”
这给我带来了一些问题(因为我不能更改正在运行的应用程序):
1)它如何使用混合的log4j和java.util.logg
2)我如何确定在哪些类中使用了什么?
3)没有%h/java%u.log(~/java*.log),所以我试图提供一个java.util.logging一致性属性文件,但这并没有改变--我如何确定正在运行的记录器从哪里获得配置来正确配置它?
1)它怎么会使用混合了log4j和java.util.logging的应用程序呢
这些日志记录框架中的任何一个都可以由应用程序直接使用,也可以由应用程序正在使用的依赖库使用。它不需要太多的依赖关系,最终就会有一堆日志框架搭便车。
SLF4J手册解释了该日志记录框架是如何与所有这些其他框架进行争论的。这就是您看到org.slf4j.impl.jdk14LoggerAdapter
的原因。
如果应用程序实际地以非标准方式配置日志记录,那么一个选项是使用java.security.debug
,使用access
选项。在安全管理器下运行应用程序将获得所有或所有必需的权限,但随后启用访问跟踪。
在我的项目中,我使用slf4j+log4j进行日志记录。我刚接触java,正在尝试了解日志记录是如何工作的。如果我想使用log4j以外的其他日志框架,比如java.util.logging,那么我就不需要更改任何代码,因为我使用的是SLF4J。我只需要移除log4j的jar,并添加java.util.logging的二进制。我试着了解当我们不改变任何代码时,它是如何工作的。如果问题不清楚,请让我知
问题内容: 我已经将一个Web应用程序部署到服务器上。我的应用程序使用和。但是,并非所有日志记录消息都已写入文件。 在我的课堂上,我有: 我的文件在本地计算机上运行良好,并且已正确部署。 我看到正在写入的应用程序生成的错误消息没有写入我的。由于输出模式的格式与我的模式不同,因此看起来的日志消息来自其他日志框架。我在中看到的日志记录如下: 我的log4j模式是这样的: 一些日志记录出现在我的文件日志
但是,部署在同一台服务器上的一些其他项目使用Tomcat的lib目录中存在的slf4j和log4j库,我无法删除这些库。 Tomcat lib目录中存在的Slf4J和Log4J版本 SLF4J-API-1.4.2 当我从Tomcat的lib目录中删除这些库并使用project的pom中提到的库时,我的项目运行良好 当我注释项目的pom文件中的依赖项并使用下面Tomcat的lib中的依赖项时,会引发
主要内容:修改日志管理器配置每个初学者都很熟悉在有问题的代码中使用 System.out.println 方法在控制台打印消息,来帮助观察程序运行的操作过程。如果你使用 System.out.println 方法,一旦发现问题的根源,就要将这些语句从代码中删去。如果接下来又出现了问题,就需要再插入几个调用 System.out.println 方法的语句,如此反复,增加了工作量。 日志用来记录程序的运行轨迹,方便查找关键信
我目前正在启动一个新的Webapp(在tomcat 6上运行)。我有使用slf4j的组件和使用commons日志的组件。我计划使用log4j 2.0作为日志实现,原因有几个(主要针对Appender:SocketAppender和SyslogAppender,但也因为在不丢失日志事件的情况下升级配置重新加载) 现在我的问题是:-我应该用哪个接口来编程我的新类?loag4j还是slf4j?或者甚至是
我担心如果在logging.properties中使用相同的文件,log4j和logging.properties可能会导致性能和正确性问题。否则,我将需要为那些不希望在我的情况下创建不同的文件。有没有干净的方法