当前位置: 首页 > 面试题库 >

如何使用JDK Logging手动翻转日志文件

罗宪
2023-03-14
问题内容

我有一个使用JDK
Logging和logging.properties文件的应用程序,该文件通过java.util.logging.FileHandler.count配置许多较旧的日志文件。

在应用程序中的某些点上,我想触发日志文件的手动翻转以启动新的日志文件,例如在计划的活动开始之前。

JDK日志记录可能吗?

在Log4j中,我使用以下内容,但是在这种情况下,我想使用JDK Logging!

Logger logger = Logger.getRootLogger();
Enumeration<Object> appenders = logger.getAllAppenders();
while(appenders.hasMoreElements()) {
    Object obj = appenders.nextElement();
    if(obj instanceof RollingFileAppender) {
        ((RollingFileAppender)obj).rollOver();
    }
}

问题答案:

您必须编写自己的处理程序才能进行轮换工作。JBoss Log Manager之类的东西可用于JDK日志记录,而只是替换了logmanger部分。它已经有一些不同的旋转处理程序。



 类似资料:
  • 我们在生产环境中面临一个问题,在某些情况下,日志文件不能被翻转。我们使用的是log4j1.2.17版本以及apache.commons-logging。创建一个自定义追加器来滚动文件。appender正在扩展log4j的FileAppender。下面是subAppend(LoggingEvent事件)方法的算法: 下面是log4j.properties文件 根据观察,系统上有一个日期变化。日期被设

  • 我最近一直在使用log4j2,遇到了一个问题。发生翻转时,活动日志文件保留其日志。是否可以清除日志文件,以便滚动的文件将只保留日志在名称中指定的时间段?

  • 我好像拿不到滚动日志文件。 我的logback.xml配置有以下内容: 有意思。SIFT中“unknown.log”文件中的条目在分钟的停止处停止。之后,不会向SIFT文件写入任何内容,但我一直在catalina.out中获取条目:

  • 我有一个powershell脚本,我用这种方式保存日志 在Python中如何使用它?

  • 以下是发生这种情况的日志: 如果我在文件名中添加参数,那么我的新文件将不会被删除,但是翻转过程仍然会在初始的翻转过程完成后每秒触发一次,并且我会为发送到记录器的每个日志事件生成一个新文件。 编辑:我只是使用XML配置文件而不是上面的编程方法进行了尝试,得到了类似的结果。下面是我使用的配置文件: > 第一个是在初始事件之后每秒翻转一次,每个日志事件都有一个新文件 第二个是我上面描述的,在我的翻转文件

  • 问题内容: 我想要一个log4j配置,这样日志文件名应该像$ {System-name} log.log。也就是说,如果该应用程序在任何系统上启动,则无需更改配置文件或代码。它应该生成提到的日志文件名。谢谢。 问题答案: 我这样做: 1)通过以下方式初始化记录器: 2)在log4j.xml中我使用变量: