Questions tagged «log4j»

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

7
新项目应该使用logback而不是log4j吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 新项目应该使用logback代替log4j作为日志框架吗? 或换句话说:“ logback是否比log4j好(将logback的SLF4J-'feature'放在旁边)?”
78 java  logging  log4j  logback 

3
是否可以使log4j显示它用来配置自身的文件?
题 是否可以使Log4J显示其用于配置的文件的完整路径? 背景 我与log4j有爱恨交织的关系。在好的时候,它很棒,但是当它不起作用时,它可能是最难调试的事情之一。我管理应用程序中的所有日志记录。因此,我对日志记录和手册中定义的默认初始化过程非常熟悉。 不过,似乎每隔几周,记录就会中断,我花了很多时间来解决问题。 这次严重损坏了。每个地方的每个日志语句都被转储到控制台中,我不知道为什么。上周使用我的log4j.xml文件的相同代码库突然使用了其他配置。没有明显的变化。我唯一的猜测是,一些依赖关系发生了变化,我怀疑Maven下载了一些邪恶的JAR,破坏了一切。 如果我能弄清楚Log4J在启动时决定使用哪个配置文件,则可以轻松解决此问题和大多数其他问题。 概要 有什么办法告诉Log4J打印用于配置的文件?或者,是否有办法中断正在运行的应用程序并使用调试器回答此问题(可能带有表达式或检查变量)?
78 java  log4j 

7
如何在命令行上设置log4j级别?
我想向正在处理的类中添加一些log.debug语句,并且希望在运行测试时在输出中看到它。我想在命令行上覆盖log4j属性,如下所示: -Dlog4j.logger.com.mypackage.Thingie=DEBUG 我经常做这种事情。我只对在命令行中传递它的方式感兴趣。我知道如何使用配置文件进行操作,但这不适合我的工作流程。
77 java  log4j 

8
一般情况下登录Java:最佳实践?
有时,当我看到自己的日志记录代码时,我想知道自己是否做对了。可能没有确切的答案,但是我有以下担忧: 图书馆课程 我有几个库类可能记录一些INFO消息。致命错误被报告为例外。当前,我在类中有一个静态记录器实例,其类名称为记录名称。(Log4j的:Logger.getLogger(MyClass.class)) 这是正确的方法吗?也许该库类的用户不需要我的实现中的任何消息,或者想要将它们重定向到应用程序特定的日志。我是否应该允许用户从“外部世界”设置记录器?您如何处理这种情况? 常规日志 在某些应用程序中,我的班级可能希望将日志消息写入未由班级名称标识的特定日志。(即:)HTTP Request log做这种事情的最好方法是什么?想到了查找服务...
76 java  logging  log4j 

18
Java Log Viewer [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 不幸的是,有时调试程序的唯一方法是浏览程序的长日志文件。 我搜索了像样的日志查看器已有一段时间了,但没有找到真正的解决方案。似乎最合适的唯一程序是带有其Socket连接器的Chainsaw,但是经过短时间的使用,该程序充其量是有缺陷的,而且反应迟钝。 出于我的目的,日志查看器至少应能够标记日志级别(例如,使用不同的颜色),并能够基于包和自由文本轻松进行过滤。 还有其他(免费的)日志查看器吗?我正在寻找可以与log4j一起使用的任何东西。
75 java  log4j  viewer 

2
如何使用一个log4j配置文件创建2个单独的日志文件?
我不知道如何配置我的log4j,以便我的debugLog和我的reportLog彼此分开(不是附加的)。为什么在以下配置中,reportsLog始终为空? log4j.rootLogger=TRACE, stdout, debugLog log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n log4j.appender.debugLog=org.apache.log4j.FileAppender log4j.appender.debugLog.File=logs/debug.log log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout log4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n log4j.reportsLog=DEBUG,reportsLog log4j.appender.reportsLog=org.apache.log4j.FileAppender log4j.appender.reportsLog.File=logs/reports.log log4j.appender.reportsLog.layout=org.apache.log4j.PatternLayout log4j.appender.reportsLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n 这是我的Java代码: package test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class HelloLogger { static final Logger debugLog = Logger.getLogger("debugLog"); static final Logger resultLog = Logger.getLogger("reportsLog"); public static …
74 java  logging  log4j 

10
Log4J:创建Logger实例的策略
我决定将Log4J日志记录框架用于新的Java项目。我想知道应该使用什么策略来创建/管理Logger实例,为什么? 每个类一个Logger实例,例如 class Foo { private static final Logger log = Logger.getLogger(Foo.class); } 每个线程一个Logger实例 每个应用程序一个Logger实例 水平切片:应用程序每一层(例如,视图层,控制器层和持久层)中Logger的一个实例 垂直切片:应用程序功能分区内Logger的一个实例 注意:这些文章已在某种程度上考虑了此问题: 创建Log4j记录器的开销是多少
70 java  logging  log4j 

9
log4j记录两次
我正在使用log4j记录错误和其他系统信息。但是在INFO级别记录两次的信息。 public static void main(final String... args) throws Exception { LOGGER.info("program started"); try { // try body codes } catch (Exception ex) { LOGGER.info("program start-up failed.",ex); } } 但是,当程序启动或失败两次时,信息记录两次,任何人都可以帮助我找到造成这种情况的原因。
70 logging  log4j 

8
log4j不打印异常的堆栈跟踪
我在tomcat中使用log4j。当我在JSP中记录异常时,servlet: private Logger _log = Logger.getLogger(this.getClass()); ... try{...} catch (Exception e) { _log.error("Error refreshing all prices", e); } 我只得到异常的第一行,没有堆栈跟踪。 17-Feb 17:37:45错误AutoContrib:175-发布csv文件时发生异常:java.lang.ArrayIndexOutOfBoundsException 根本不是很有帮助! 我的log4j.properties文件(/tomcat/common/classes/log4j.properties)看起来像这样: log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{dd-MMM HH:mm:ss} %5p %c{1}:%L - %m%n log4j.appender.stdout.threshold=info log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.maxFileSize=5000KB log4j.appender.file.maxBackupIndex=10 log4j.appender.file.File=${catalina.home}/logs/web.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{dd-MMM HH:mm:ss} %5p %c{1}:%L - %m%n log4j.appender.file.threshold=info log4j.rootLogger=debug, stdout, file
70 java  tomcat  logging  log4j 

1
Log4j2配置中的“状态”是什么意思?
我刚刚完成对log4j2.xml配置文件的调整,发现了一些我不太了解的东西。那是什么<Configuration status="SOME_STATUS_HERE">呢? 这里几乎所有示例:http : //logging.apache.org/log4j/2.x/manual/configuration.html 来自Apache的人们将状态添加到配置中。 例如,这是第一个: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <!--status="WARN" - what is this???--> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="error"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration>

4
如何使log4j也写入控制台
有什么办法告诉log4j将其日志写入文件和控制台?谢谢,有我的财产: log4j.rootLogger=DEBUG,console,R log4j.rootLogger=INFO, FILE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n log4j.appender.FILE=org.apache.log4j.RollingFileAppender log4j.appender.FILE.File=log4j.log log4j.appender.FILE.MaxFileSize=512KB log4j.appender.FILE.MaxBackupIndex=3 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
69 java  apache  logging  log4j 

9
设置日志文件名以在Log4j中包括当前日期
我想将log4j和log4net附加程序的日志文件名设置为具有当前日期。我们正在做每日翻转,但是当前的日志文件没有日期。日志文件名称格式为 logname.2008-10-10.log 有人知道我这样做的最好方法吗? 编辑:我忘了提到我们也想在log4net中做到这一点。另外,任何解决方案都需要在JBoss中可用。
68 java  .net  logging  log4net  log4j 

10
log4j将标准输出重定向到DailyRollingFileAppender
我有一个使用log4j的Java应用程序。 配置: log4j.rootLogger=info, file log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File=${user.home}/logs/app.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d [%t] %c %p %m%n 因此,所有日志语句都正确地附加到了文件中,但是我丢失了stdout和stderr。如何将异常堆栈跟踪和sysouts重定向到每日滚动文件?
67 java  file  redirect  log4j  stdout 

4
使用任何文件追加器进行Log4j的每日轮换和每月保留
是否可以使用任何log4j附加程序写入具有特定轮换时间和保留限制的日志。 目标是: 每天有一个日志文件;在午夜为新日志创建一个新文件 保留日志文件并在一定时间后自动将其删除;因此,删除早于X天(例如30天)的日志文件 似乎可以旋转,但使用log4j不可能限制保留时间 log4j版本为1.2。
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.