有没有办法在logback中为单个日志文件定义多个滚动策略?

2024-03-06

我正在尝试设置一个 logback 配置,该配置创建一个解压缩的日志文件作为第一卷,然后从那时起将压缩文件写入不同的目录。我相信最好的方法是在单个附加程序中创建多个rollingPolicy 元素。谁能指导我一个有人成功做到这一点的例子?

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>test.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>tests.%i.log</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>1</maxIndex>
    </rollingPolicy>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>archives/tests.%i.log.zip</fileNamePattern>
      <minIndex>2</minIndex>
      <maxIndex>5</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>5MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="FILE" />
  </root>
</configuration>

操作方法如下:

<!-- Time and Size based: Roll every day and split big file in smaller peaces -->
<appender name="ROOT" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_HOME}/root.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <fileNamePattern>${OTHER_HOME}/root-%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
           <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>10</maxHistory>
    </rollingPolicy>
    <encoder>
         <pattern>%date %-5level [%thread] - %mdc{loginName} - [%logger]- %msg%n</pattern>
    </encoder>
</appender>
  • ${LOG HOME} 是您的第一个目录
  • ${OTHER_HOME} 供您使用压缩文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在logback中为单个日志文件定义多个滚动策略? 的相关文章

随机推荐

  • Android WebView 硬件加速 Artefact 解决方法

    Android 中的 WebView 硬件加速存在一个已知的错误 例如 请参见此处 https code google com p android issues detail id 17352 https code google com p
  • 每次 React 向 Express 发送请求时,都会生成一个新的会话

    I use React作为客户端发送请求Express with proxy and express session设置 但每次 React 向 Express 服务器发出请求时 都会创建一个新会话 因此 我通过手动访问相同的 api ur
  • chrome.tabs.update() 重定向到 'chrome-extension://invalid/'

    我编写了一个 chrome 扩展 它根据作为内容脚本注入的计时器的值重定向当前选项卡 后台脚本通过每隔一段时间轮询每个计时器来跟踪所有打开的选项卡的运行时间 如果在特定站点上花费的时间超过给定限制 则将活动选项卡重定向到间隙页面 并提供重置
  • 如何使用SBT和IntelliJ IDEA管理多个相互依赖的模块?

    我正在开发几个相互依赖的模块 并且希望在一个 IDEA 项目中将它们一起使用 我在用着sbt idea https github com mpeltonen sbt idea从 sbt 构建定义生成 IDEA 项目 这对于单个项目非常有用
  • 如何阻止 Reporting Services 报表在启动时自动呈现?

    我注意到 如果报表的所有参数都指定了默认值 那么它会在启动时自动呈现 我怎样才能防止这种情况发生 也就是说 我不希望在用户单击 查看报告 按钮之前呈现报告 如果所有参数都有默认值 则无法停止报表呈现 自动停止报表呈现的唯一方法是至少有一个没
  • Mac 命令行 - 列出可用的串行端口?

    在我的 Mac 上 我目前有可用的串行端口 dev tty usbserial A700dYoR dev cu usbserial A700dYoR dev tty 蓝牙 PDA 同步 dev cu 蓝牙 PDA 同步 dev tty 蓝牙
  • Java:在for循环init中初始化多个变量?

    我想要两个不同类型的循环变量 有什么办法可以让这个工作吗 Override public T get int index throws IndexOutOfBoundsException syntax error on first int
  • 放大 AMCharts 时丢失 Timeserie

    当我放大图表时 serie2 消失了 如果我通过从右侧选择光标进行缩放 但是从左侧缩放工作正常 无论如何 我期待看到 2 系列 但似乎有时不是 See my 截屏 https i stack imgur com MXsX1 png 知道为什
  • 在opencv c++中绘制旋转矩形

    我想用c 在opencv中绘制一个旋转的矩形 我用 rectangle 函数如下 rectangle RGBsrc vertices 0 vertices 2 Scalar 0 0 0 CV FILLED 8 0 但是这个函数画了一个0角的
  • 从 C# 安装项目运行另一个程序

    我已经用 C 创建了一个设置和部署项目 现在我有另一个 Windows 更新 exe 我想在安装我的项目之前成功运行和安装它 我已将 exe 与我的项目打包在一起 我之前如何运行该exe 您想要将自定义操作添加到运行可执行文件的安装项目 本
  • 根据等于 x.x.x.x/x 的 IP 字符串计算 IP 范围

    给定 IP 字符串 我如何计算 IP 范围x x x x x最常见的情况可能是198 162 1 1 24但可以是任何东西 任何法律允许的东西 我要拿198 162 1 1 24并将其转换为 198 162 1 1 198 162 1 12
  • 音频 - 快进 30 秒

    我有一个音频播放器 可以播放从 Core Date 检索到的音频 播放和暂停工作正常 我正在尝试实现 向前跳转 30 秒 按钮 并寻求有关如何实现该操作的任何指示 我的 播放 暂停 按钮的代码 IBAction func playPress
  • Python Selenium Webdriver - 动态更改下载目录

    为了在定义 selenium webdriver 之前显式定义下载目录 我们使用以下代码 chromeOptions webdriver ChromeOptions prefs download default directory C da
  • 使用 Mayavi 制作 3D 图表,并使用 Matplotlib 风格的轴

    我一直在用 Mayavi 进行 3D 绘图 我可以绘制我想要的散点图 但似乎无法让轴看起来正确 我发现了以下内容上一个问题 https stackoverflow com questions 4739360 any easy way to
  • JOOQ 嵌套条件

    嗨 我想弄清楚如何在 jooq 中写这样的东西 select from table where a query or b query or a query and e query or g query or z query 我不知道如何在
  • 将相等的矩形拟合成更大的矩形

    我有一个大矩形dimensions L W and n smaller rectangles每个都有相同的尺寸l w 每个小矩形都有相同的dimensions 我的目标是适合所有人n of smaller将矩形合并到大矩形中 同时尽可能最有
  • Rails 5.2 中范围内的连接与 Rails 5.1 有何不同?

    将 Rails 从 5 1 升级到 5 2 后 我开始收到以下错误 NoMethodError undefined method expr for nil NilClass from gems path activerecord 5 2 0
  • 该捆绑包无效。 Apple 目前不接受使用此版本的 SDK 4.2 构建的应用程序 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 亲爱的关心
  • Hibernate:映射3个表

    我正在尝试使用 Hibernate 映射一些现有表 这很简单 我们有具有多种语言名称的类别 DDL如下 create table language id integer not null auto increment code varcha
  • 有没有办法在logback中为单个日志文件定义多个滚动策略?

    我正在尝试设置一个 logback 配置 该配置创建一个解压缩的日志文件作为第一卷 然后从那时起将压缩文件写入不同的目录 我相信最好的方法是在单个附加程序中创建多个rollingPolicy 元素 谁能指导我一个有人成功做到这一点的例子