草庐IT

java - 如何删除旧的滚动 log4j2 日志,最多保留 10 个文件?

我想要的是:最多10个日志文件,总数每个日志文件,大小不超过50MB。因此日志文件夹永远不会超过(50MB*10)=500MB。但我的log4j2配置似乎没有正确完成。发生的事情是:日志在50MB后滚动但是每天最多保留10个日志因此日志文件夹中保存的日志文件数量没有限制(因为例如,在2天内,收集了20条50MB的日志)配置如下:%d%p%c{1.}[%t]%m%n我做错了什么? 最佳答案 从2.5开始,Log4j支持customDeleteaction在每次翻转时执行。您可以通过以下方式控制删除哪些文件:姓名(匹配glob或rege

java - 未从 jar 中获取 log4j.properties

我的服务器的类路径中有一个jar,它包含位于jar根目录的log4j.properties文件,用于记录代码。当jar中的代码运行时,代码的日志记录不会发生。当我使用java-Dlog4j.debug选项分析问题时,我知道log4j正在加载axis-ant.jar的log4j.properties文件(这也是在我的类路径上)并使用它代替我的jar的属性文件。当我随后从类路径中删除axis-ant.jar时,我的jarslog4j.properties文件被立即选中并记录了我的代码。有人能解释一下为什么我的log4j.properties文件没有加载而axis-ant.jar存在吗?令人

Java - 如何让记录器在关闭 Hook 中工作?

我有一个专门的记录器类,它使用java.util.logging.Logger类。我希望能够在另一个类的关闭Hook中使用这个记录器。但是,它似乎没有在关机时登录。根据我的阅读,可能已经为导致问题的记录器本身激活了一个关闭Hook。我怎样才能让它发挥作用?理想情况下,我希望在日志文件中看到我确实在进程终止时执行了关闭Hook。 最佳答案 再次查看源代码,解决方案似乎是定义一个系统属性java.util.logging.manager,它是LogManager的子类,覆盖了reset();方法,以便Loggers在关闭时继续工作。im

java - 3.0 servlet 中的 Log4J2 配置

我尝试根据文档(和相关的SO问题)设置LOG4J,但它没有创建假定的文件,但WildFly中有这样的日志:NoLog4jcontextconfigurationprovided.Thisisveryunusual网络.xmllog4jConfigLocation/WEB-INF/classes/log4j2.xmlapp.war/WEB-INF/classes/log4j2.xmlc:/oauth.log%d%p%C{1.}[%t]%m%napp.war/WEB-INF/libcommons-logging-1.1.3.jarjson-smart-1.1.1.jarlog4j-api-

java - 如何漂亮地打印一个复杂的 Java 对象(例如,带有对象集合的字段)?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。社区在2个月前审查了是否重新打开此问题,然后将其关闭:原始关闭原因未解决Improvethisquestion我正在寻找一个库函数(最好来自常用的框架,例如Spring、Guava、ApacheCommons等),它可以很好地打印任何Java对象的值。这是一个一般性问题,而不是一个具体问题。在StackOverflow上看到过类似的问题,常见的答案是“在类上实现你自己的toString()方法”,但这个选

java - 在java中登录多线程应用程序

在多线程环境中记录日志的最佳方式和工具是什么,以便每个线程都有自己的记录器实例和单独的文件。这甚至可能吗? 最佳答案 您可以尝试使用自定义Log4Jappender,它将线程id作为参数并根据调用它的线程过滤消息。即时创建它,将其附加到记录器。虽然这种方法存在多个问题:过多的appender会减慢日志记录速度AppServer通常有一个线程池。这意味着随着时间的推移,同一个线程将参与执行完全不相关的请求,这些请求将最终出现在同一个日志文件中。我建议您考虑一种更简单的方法:将线程ID记录到同一个日志文件中。它又快又简单,log4j有一

java - 发出 http ://apache. org/xml/features/xinclude testing log4j 2

我正在测试Log4j2,但我不知道自己做错了什么,因为我从Apache下载了库并将它们放在了类路径中。我也添加了xercesImpl、xalan、xml-apis、serializer、xsltc,但异常仍然存在。我显示堆栈跟踪和配置文件:C:/Logs/%d{dd/MMM/yyyyHH:mm:ss,SSS}-%c{1}:%m%nERRORStatusLoggerErrorparsingC:\W7des\cliente\Test\bin\log4j2.xmljavax.xml.parsers.ParserConfigurationException:Feature'http://apa

java - jetty 间歇性崩溃的问题

我遇到了Jetty间歇性崩溃的问题,我使用的是Jetty6.1.24。我正在运行一个neo4jSpringMVCwebapp,Jetty将保持运行大约1小时,然后我必须重新启动Jetty。它运行在小型亚马逊ec2实例上,debian内存为1.7gb。我使用java-Xmx900m-server-jarstart.jar启动Jetty我正在使用putty连接到服务器,当Jetty崩溃时puttysession断开连接,我看不出是什么错误导致它崩溃。我想看看它是否是Spring生成的错误,我不确定如何使用Jetty记录spring应用程序的输出。或者,如果是Jetty或内存问题,那么监控J

java - Log4j - 让多个 appender 写入同一个文件,其中一个始终记录

我有一个log4jappender定义如下:log4j.logger.com.example=DEBUG,fileloglog4j.appender.filelog=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.filelog.File=c:/app.loglog4j.appender.filelog.layout=org.apache.log4j.PatternLayoutlog4j.appender.filelog.layout.ConversionPattern=%d|%m%nlog4j.appender.file

java - Apache Tomcat 日志记录默认权限

我想知道是否有任何方法可以设置使用Tomcat的logging.properties文件创建的日志的默认文件权限?我的logging.properties文件如下所示:handlers=java.util.Logging.FileHandlerjava.util.logging.FileHandler.level=INFOjava.util.logging.FileHandler.pattern=/var/lib//logs/system.logjava.util.logging.FileHandler.limit=2097152java.util.logging.FileHandle