问题内容: 我想使用apache log4j将日志记录添加到正在开发的应用程序中。在这一点上,我想将所有级别为INFO和更低级别(TRACE,DEBUG)的日志消息重定向到stdout,并将所有其他日志消息从WARN及更高版本(ERROR,FATAL)重定向到stderr。例如: 那么我的log4j.properties文件应该是什么?这是如何看待这一时刻的: 上面配置的问题是logger.err
问题内容: 在Java 1.7中使用log4j2(beta9)。 我完整的log4j2.xml: 我想在每个日志文件的顶部添加一些自定义信息,例如我的应用程序的版本字符串,应用程序正常运行时间和系统正常运行时间。甚至将“再见,再见/ eof”写到刚刚关闭的日志文件的底部也可以。 在RollingFileAppander创建新文件时,是否有类似钩子或回调的通知得到通知,以便我可以首先将东西放入这些新
问题内容: 我正在尝试将log4j配置为使用,但我不断收到中继访问被拒绝的错误。在笔记本电脑上直接从共享托管环境执行代码时,出现此错误。 这是相关的配置: 如果改用,则会收到身份验证错误。我的主机位于DreamHost上,因此如果有人使用DreamHost电子邮件帐户设置了log4j,则可获赠积分。 问题答案: 原来我只是把属性都弄错了。应该:
问题内容: 我已经将一个Web应用程序部署到服务器上。我的应用程序使用和。但是,并非所有日志记录消息都已写入文件。 在我的课堂上,我有: 我的文件在本地计算机上运行良好,并且已正确部署。 我看到正在写入的应用程序生成的错误消息没有写入我的。由于输出模式的格式与我的模式不同,因此看起来的日志消息来自其他日志框架。我在中看到的日志记录如下: 我的log4j模式是这样的: 一些日志记录出现在我的文件日志
问题内容: 是否可以覆盖已经在中配置的附加程序的“文件”属性,而无需创建新的附加程序?如果是的话-怎么样? 这是这种情况:我有两个apender,A1是ConsoleAppender,而A2是FileAppender。A2的“文件”指出了一个一般性error.log: 此附加程序仅记录错误级别的事件,或更糟糕的是 。 现在,我希望根据导致错误的类将这些错误写入不同的文件中,因为正在创建实例的类有多
问题内容: 我试图在jar外部的文件系统上运行带有log4j.xml文件的jar,如下所示: 我也尝试过: log4j.xml是文件,与jar(/ opt / companyName / pathToJar /)位于同一目录中,但是我仍然收到标准警告消息: 是否可以将配置文件放在jar之外,还是必须将其与jar打包在一起? TIA 问题答案: 使用开关启动可执行的jar文件时,将从jar文件的清单
问题内容: 首先-是的,我已经阅读了有关此主题的多个问题和答案,但无法从中获得任何解决方案来帮助我。我没有运行Tomcat或JBoss,也没有要更改的文件。我正在使用Java 6.0和。 我正在使用IDEA IntelliJ创建一个可运行的jar文件,其中jar库是单独打包并通过清单链接的。我因此在Linux服务器上运行代码: 我的log4j配置文件(已放在和中,以防万一)是: 为了防万一,我再次
问题内容: 我正在测试一种在出现问题时记录警告并返回null的方法。 就像是: 我想用junit测试在所有情况下都返回警告,除了返回null外(例如,未找到文件,文件是只读的)。 有任何想法吗? 谢谢,asaf :-) 更新 我对亚伦回答的实现(加上彼得的评论): 多谢你们, 问题答案: 在单元测试的设置中: 获取相同的记录器 使其非可加性 添加一个可记住列表中消息的附加程序: } 将追加器添加到
问题内容: 我在服务器的类路径中有一个jar,在jar的根目录中包含log4j.properties文件,用于记录代码。当jar中的代码运行时,不会记录该代码。当我使用 java -Dlog4j.debug 选项分析问题时,我知道log4j正在加载 axis-ant.jar 的log4j.properties文件(这也在我的类路径中),并使用它而不是jar的属性文件。 当我随后从类路径中删除axi
问题内容: 我正在使用log4j登录我的应用程序。我正在尝试在不同文件中使用不同级别的日志,但是出了点问题。对于解决此问题的任何帮助,我们将不胜感激。 问题答案: log4j附加程序的标准行为是,它们以其阈值级别 或更高 的阈值记录所有消息,即具有阈值INFO的附加器将记录INFO,WARN,ERROR和FATAL消息,但不记录DEBUG。如果你想记录 只有 INFO信息,但不会发出警告及以上,然
问题内容: 有没有一种方法可以将log4j日志事件写入到也由其他应用程序写入的日志文件中。其他应用程序可以是非Java应用程序。有什么缺点?锁定问题?格式化? 问题答案: Log4j有一个SocketAppender,它将事件发送到服务,您可以自己实现或使用与Log4j捆绑在一起的简单实现。 它还支持syslogd和Windows事件日志,这对于尝试将日志输出与非Java应用程序中的事件统一起来可
问题内容: 我正在尝试在Log4j2中编写自己的RewritePolicy。该文档指出: RewritePolicy是一个接口,允许实现在将LogEvent传递给Appender之前检查并可能对其进行修改。RewritePolicy声明一个必须执行的名为rewrite的方法。该方法通过LogEvent传递,并且可以返回相同事件或创建一个新事件。 这是我的 java类 : 这是我的 yaml配置 文
问题内容: 如何通过?我可以使它起作用的唯一方法是将log4j.xml放在类路径上。 传递:-Dlog4j.configuration = file:/// c:\ log4j2.xml在命令行上不起作用(尽管在非Spring Boot测试应用程序中也可以)。 我还尝试在春季将其作为环境变量/属性。 问题答案: 尝试将此行放入您的: 第二种选择是将系统变量传递给 在这种情况下,它应该位于JAR文件
问题内容: 我正在尝试将 log4j 配置为仅保留指定数量的备份文件或保留不超过一定年龄的文件。最终,我希望有 时间(每天)基于触发策略, 并保留30个备份文件或删除早于30天的文件。 经过一些研究后,我了解到在使用 时间策略 时无法指定备份文件的最大数量,但是遇到了这个问题https://issues.apache.org/jira/browse/LOG4J2-435和此文档片段http: //
问题内容: 我有一个日志文件,其中添加了以下附加程序: 事实是,每次我运行我的应用程序时,其他日志记录信息都会附加到同一日志文件中。每次我该怎么做才能覆盖文件? 问题答案: 使用RollingFileAppender。