- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
典型的 logback appender 配置是
<appender name="NAME"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>FILEPATH.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>FILEPATH.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
<maxHistory>24</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
通常它对我来说效果很好。但是我发现当没有日志附加到记录器时,它不会按照指定的 rollingPolicy 拆分日志文件。
请告诉我如何将它配置为每小时拆分日志文件,即使几个小时没有日志记录。如果某个小时没有日志记录,我需要 logback 为那个小时创建一个空文件。
最佳答案
我遇到了同样的问题,我想默认情况下 logback 无法做到这一点。
我在 logback backlog 中发现了这个问题来处理这个问题:https://jira.qos.ch/browse/LOGBACK-554而且它仍然开放。
我现在所做的是基于它实现我自己的滚动附加策略:https://ronanquillevere.github.io/2015/08/04/rolling-log-15-min.html
您可以扩展 RollingFileAppender 类并覆盖翻转方法,如下所示:
public class CustomAppender<E> extends RollingFileAppender<E>
{
private static long start = System.currentTimeMillis();
private int rollOverTimeInMinutes = 60;
@Override
public void rollover()
{
long currentTime = System.currentTimeMillis();
int maxIntervalSinceLastLoggingInMillis = rollOverTimeInMinutes * 60 * 1000;
if ((currentTime - start) >= maxIntervalSinceLastLoggingInMillis)
{
super.rollover();
start = System.currentTimeMillis();
}
}
}
并且在 logback 文件 xml 配置上,您只需在 appender 属性上设置自定义策略:
<appender name="FILE" class="<your-package>.CustomAppender" >
关于logback RollingFileAppender 定时滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344977/
有人能说出这些东西有什么不同吗?此外,我无法理解,如果 DailyRollingFileAppender 存在,为什么需要使用 TimeBasedRollingPolicy ? 最佳答案 org.ap
我有一个在单个服务器上运行的 WCF 服务,使用 Log4net 通过 INFO 和 WARN 级别的日志条目跟踪使用情况。使用具有以下非常标准配置的 RollingFileAppender:
典型的 logback appender 配置是 FILEPATH.log FILEPATH.%d{yyyy-MM-dd-HH}.log 24
使用配置: 我可以获得名为“Mylog20120529.log”的历史日志。 我想知道我是否可以获得名为“20120529.log”的日志。 感谢大家 最佳答案 在这里应用一个技巧,它将完成工作。
使用系统属性变量创建 RollingFileAppender 时出现以下错误。 ERROR Unable to invoke factory method in class class org.apa
我的 tomcat Web 应用程序有以下 log4j.xml 文件:
我正在使用 Log4Net 登录我编写的应用程序。为了写入日志文件,我使用了具有 5 个备份和最大文件大小为 250KB 的 RollingFileAppender。 我想做的是让用户有机会在发生崩溃
是否有任何流行的 Java 日志记录框架支持滚动文件附加器,我可以将其配置为每天滚动,并删除任何超过一定天数的日志文件?我知道我可以使用滚动文件附加程序和 cron,但想知道是否有人知道可以同时执行这
是否可以将 log4net 配置为每小时滚动文件?如果没有 - 有关如何使用所需功能覆盖 RollingFileAppender 以制作 HourlyRollingFileAppender 的任何提示
我正在使用RollingFileAppender和SizerollingStyle。默认情况下,它会创建带有编号扩展名的备份文件,这让我抓狂。是否可以更改它,使其始终使用定义的扩展名(例如 .txt
我们在开发和生产计算机上发现一个间歇性问题,即我们的日志文件未记录到。 当使用 Visual Studio 进行开发和调试时,我们在 VS 输出窗口中收到以下 log4net 错误消息: log4ne
使用 Log4j2 库版本 2.9.1。 我正在尝试以编程方式创建RollingFileAppender: RollingFileAppender appender = RollingFileAppe
当前版本的 Log4net 是否有办法创建具有复合滚动样式的 RollingFileAppender,其中滚动文件始终保留给定的扩展名(在我的情况下为 .log)? 我想要的格式示例: MyLog.l
我在 Web 项目中使用 log4net (v1.2.9.0)。一切正常,但几周后 RollingFileAppender 停止滚动。取而代之的是,每条日志消息都附加到同一个文件,因此现在这个文件已经
我正在以编程方式在 log4net 中配置 RollingFileAppender。我目前有这样的东西: RollingFileAppender fa = new RollingFileAppende
我有一个滚动文件附加器,它每天晚上滚动文件。但是,当它滚动时,新文件只有一个日志条目。似乎文件不再附加日志条目。如果我重新启动服务,它会正确记录。 这是我的设置:
我怎样才能创建一个 RollingFileAppender在接受谨慎标志的 Logback 中,还允许我指定日志文件的位置? 我尝试了以下操作,但正如我从文档中了解到的,logback 不支持 fil
虽然我已经阅读了有关此问题的多个其他问题和答案,但我没有找到答案,希望得到任何帮助。 public static void rerouteAppenderToFile(File file, Logge
您好,我现在使用 log4net 有一段时间了。这是我的记录器: public static class LoggerSetup { private static RollingFileApp
我有两个上下文在同一个 JVM 和 Tomcat 实例中运行,我想使用 logback RollingFileAppender 写入同一个日志文件。如果我使用相同的文件,logback Rolling
我是一名优秀的程序员,十分优秀!