Questions tagged «log4j»

log4j是一种流行的基于Java的日志记录实用程序。它是Apache Software Foundation的一个项目,并获得了Apache Software License 2.0版的许可。

6
Eclipse:在log4j.xml中引用log4j.dtd
我已经使用log4j已有一段时间了,我通常在log4j.xml的顶部使用它(可能和许多其他方法一样,根据Google的说法,这是这样做的方法): <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 显然,这是可行的,但是Eclipse没有为编写XML和所有内容提供上下文相关的帮助。此外,它始终会显示一条警告,指出找不到log4j.dtd。现在,我很好奇如何解决此问题。 我尝试了一些事情,这些工作: <!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd"> <!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> 从上面可以看到,我们正在使用Maven。因此,我尝试了此操作,但失败了: <!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd"> Eclipse通常知道如何处理类路径变量,但是为什么这不起作用?我知道该引用在运行时不会起作用,但是简单的引用log4j.dtd(如果我没记错的话)也不会起作用,因此这应该不是问题。 谁能说明一下吗?

1
slf4j和log4j2一起使用是否值得
我无法决定是否将slf4j与log4j2一起使用。根据在线帖子,看起来它不会对性能产生任何影响,但这确实是必需的。 同样,以下几点有利于log4j2: SLF4J强制您的应用程序记录字符串。如果要记录文本,Log4j 2 API支持记录任何CharSequence,还支持按原样记录任何对象。 Log4j 2 API提供了对记录消息对象,Java 8 lambda表达式和无垃圾记录的支持(它在记录CharSequence对象时避免创建vararg数组并避免创建String)。
114 java  logging  log4j  slf4j  log4j2 

1
Java Logging框架中的标记是什么?使用它们的原因是什么?
第一次阅读时我听说标记: http://slf4j.org/faq.html 我检查Logger对象的可用方法: http://www.slf4j.org/api/org/slf4j/Logger.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html 并找到接口: http://www.slf4j.org/api/org/slf4j/Marker.html http://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Marker.html 我可以从以下获得更深入的信息: http://logback.qos.ch/manual/filters.html 但是仍然很困惑...请注意,我问为什么,而不是如何使用它们,所以这不是重复的: 在SLF4J / Logback中使用标记的最佳实践 UPDATE似乎当您使用标记时,您还需要编写自定义Java代码,而不是在XML或.property文件中进行配置... 更新2来自http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN"); logger.error(notifyAdmin, "This is a serious an error requiring the admin's attention", new Exception("Just testing"));
110 java  logging  log4j  slf4j  logback 

17
在slf4j中设置运行时消息的日志级别
使用log4j时,该Logger.log(Priority p, Object message)方法可用,可用于在运行时确定的日志级别记录消息。我们正在利用这个事实和技巧将stderr重定向到特定日志级别的记录器。 slf4j没有log()我可以找到的通用方法。这是否意味着无法实现上述目的?
100 java  logging  log4j  slf4j 

1
Logback编码器模式文档在哪里
我已经遍历了所有的logback 文档,并且在任何地方都找不到文档来配置编码器的模式,例如: <encoder> <pattern>%d{HH:mm:ss.SSS} %-4relative %-5level %logger{35} - %msg%n</pattern> </encoder> 我想要一张表(就像log4j的表一样)来解释配置模式的不同选项。 模式的文档在哪里?也许它们是在另一个项目中定义的?
93 java  logging  log4j  logback 

6
使用Log4j XML配置文件配置Hibernate日志记录?
我还没有找到任何有关如何使用Log4j的XML样式配置文件配置Hibernate日志记录的文档。 这是否有可能,或者我是否已使用属性样式配置文件来控制Hibernate的日志记录? 如果任何人有任何信息或文档链接,我们将不胜感激。 编辑: 只是为了澄清,我正在寻找控制Hibernate的实际XML语法的示例。 EDIT2: 这是我的XML配置文件中的内容。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="info"/> <param name="Target" value="System.out"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %c{1} - %m%n"/> </layout> </appender> <appender name="rolling-file" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="Program-Name.log"/> <param name="MaxFileSize" value="1000KB"/> <!-- Keep one …


3
log4j.properties文件中的log4j.rootLogger属性有什么意义?如果我不使用此属性会怎样?
文件中log4j.rootLogger属性的意义是什么log4j.properties?如果我不使用此属性会怎样? 范例: # Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=DEBUG, A1 # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender 如果将此属性设置为ERRORmode,会发生什么。

4
在JUnit测试类中的哪里配置log4j?
查看我编写的最后一个JUnit测试用例,我在类构造函数中调用了log4j的BasicConfigurator.configure()方法。对于仅运行Eclipse的“作为JUnit测试用例运行”命令中的单个类,该方法运行良好。但是我意识到这是不正确的:我很确定我们的主测试套件可以从一个进程运行所有这些类,因此log4j配置应该在某个地方进行。 但是我仍然需要自己单独运行一个测试用例,在这种情况下,我需要配置log4j。我应该在哪里放置配置调用,以便在测试用例独立运行时可以运行,而不是在作为较大套件的一部分运行测试用例时运行?
85 java  logging  junit  log4j 

7
如何将java.util.logging发送到log4j?
我有一个现有应用程序,它针对log4j进行所有日志记录。我们使用了许多其他库,这些库也使用log4j或对照Commons Logging进行日志记录,最终在环境中使用log4j进行记录。我们的依赖项之一甚至针对slf4j记录日志,它也可以正常工作,因为它最终也可以委托给log4j。 现在,我想为一些缓存需求将ehcache添加到此应用程序。先前版本的ehcache使用commons-logging,在这种情况下本来可以很好地工作,但是从1.6-beta1版本开始,他们已经删除了commons-logging的依赖关系,并改为使用java.util.logging。 并不是很熟悉java.util.logging可用的内置JDK日志记录,是否有一种简单的方法来针对log4j记录发送到JUL的任何日志消息,因此我可以使用现有配置并为即将到来的任何日志记录进行设置从ehcache? 查看JUL的javadocs,看来我可以设置一堆环境变量来更改LogManager所使用的实现,并可能使用它来将log4j封装Logger在JULLogger类中。这是正确的方法吗? 具有讽刺意味的是,当世界上大多数(大多数)使用第三方库时,库使用内置的JDK日志记录会引起如此麻烦。

5
使用log4j创建多个具有不同内容的日志文件
有没有一种方法可以配置log4j,以便将不同级别的日志记录输出到不同的附加程序? 我正在尝试设置多个日志文件。主日志文件将捕获所有类的所有INFO及以上消息。(在开发中,它将捕获所有DEBUG及以上消息,并捕获特定类的TRACE。) 然后,我想要一个单独的日志文件。该日志文件将捕获类的特定子集的所有DEBUG消息,而忽略任何其他类的所有消息。 有没有办法得到我想要的东西? 谢谢,丹
81 java  log4j 

4
阈值在Log4J中是什么意思?
我有一个log4j类似下面的属性。登录的所有内容都TextProcessor.log超出WARN级别。我不了解此处设置的调试阈值。有人可以解释阈值是什么吗? log4j.logger.TextProcessor=warn,TextProcessor log4j.appender.TextProcessor=org.apache.log4j.RollingFileAppender log4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.log log4j.appender.TextProcessor.MaxFileSize=10MB log4j.appender.TextProcessor.MaxBackupIndex=10 log4j.appender.TextProcessor.Threshold=debug log4j.appender.TextProcessor.layout=org.apache.log4j.PatternLayout log4j.appender.TextProcessor.layout.ConversionPattern=[%d] [%5p] (%F:%L) - %m%n
80 java  logging  log4j 


12
log4j:WARN在web.xml中找不到记录器的附加程序
我已经将log4jConfigLocation放在web.xml中,但是仍然收到以下警告: log4j:WARN No appenders could be found for logger ⤦ ⤥ (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 我错过了什么? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml </param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <listener> …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.