当前位置: 首页 > 知识库问答 >
问题:

无法在log4j中将MaxFilesize设置为值"100MB"

慎俊雄
2023-03-14

我使用的是log4j1。2.17和apache-extras-log4j--1.2。17.jar用于日志记录。

我的目的是根据大小对文件进行滚动和归档。下面是log4j。xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="R" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="File" value="logger.log"/> 
    <param name="append" value="true"/>
    <param name="encoding" value="UTF-8"/>      
    <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
        <param name="FileNamePattern" value="logger.log%i.gz" />            
    </rollingPolicy>
    <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
        <param name="MaxFileSize" value="${LOG_FILESIZE_LIMIT}"/>
    </triggeringPolicy>
    <layout class="org.apache.log4j.TTCCLayout">
      <param name="ContextPrinting" value="true"/>
      <param name="ThreadPrinting" value="true"/>
      <param name="DateFormat" value="MM/dd/yyyy HH:mm:ss"/>
    </layout>
   </appender>

  <root>
    <priority value ="DEBUG"/>
    <appender-ref ref="R"/>

  </root>

</log4j:configuration>

${LOG_FILESIZE_LIMIT}是100MB。

但它没有将MaxFileSize设置为100MB,并给出以下消息。

log4j:警告无法将属性[maxFileSize]设置为值“100MB”

它采用默认的maxfilesize(10MB)并在文件达到10MB时存档。

谢谢,安嘉莉

共有2个答案

梁浩涆
2023-03-14

检查类路径上是否没有其他版本的log4j,我以前遇到过这个问题,另一个第三方jar集也有一个较旧版本的log4j-删除它修复了这个问题。

曹君墨
2023-03-14

尝试将${LOG\u FILESIZE\u LIMIT}占位符设置为值104857600(相当于100MB字节),因为MaxFileSize参数接受长值。

 类似资料:
  • 我有一个类,它有一个属性Start,类型为DateTime。 我试图做的是将ClosedPlatform实例的Start属性绑定到datetime local类型的输入。同时,我发现datetime本地输入在默认情况下不显示datetime秒,所以我试图强制它显示Start的秒值。 我设法设置了输入,使其几乎正常工作。设置似乎是在线获取日期时间本地输入以显示秒的常见建议,确实如此。然而,我的问题是

  • 我有一个appender文件,并希望将org.springframwork和ch.qos.logback定向到这个日志文件。但是,当我在linux服务器上运行我的应用程序时,这两个包的INFO消息并没有进入日志文件,而是直接打印出来。以下是我的logback.xml: 08:23:22,446-ch.qos.logback.classic.joran.joranConfigurator@1b83c

  • 问题内容: 我希望将值设置为如果我提交的表单中的文本框未放入任何内容。我怎样才能做到这一点?我尝试插入,但这只是将单词添加到字段中。 我不确定应该为此提供什么代码,我只是在编写UPDATE查询。 问题答案: 不要在更新语句中加引号。这应该工作:

  • 我需要控制日志框架的最大磁盘空间量。 例如,在log4j中,如果有如下所示的追加器,我可以很容易地估计需要多少磁盘空间: 对于maxFileSize和maxBackupIndex,我知道最多需要10x100KB。 我注意到DailyRollingFileAppender,但它不支持maxFileSize。 除了RollingFileAppender之外,是否还有其他fileappender可以实现

  • 问题内容: 我试图使用Jackson2ObjectMapperBuilderCustomizer将自定义问题处理程序添加到对象映射器: 但是当我自动装配ObjectMapper bean时,_problemHandlers属性为null。 我还尝试过使用以下命令自定义现有的ObjectMapper: 但是结果是一样的。我不知道谁可以删除此属性。我根本不会在另一个地方初始化对象映射器的其他构建器/工

  • 我在我的项目中使用jsPlumb库,我有一个函数,如果endpoint图像连接,则会更改它们。当页面加载并且一切正常时,我调用它,但是当我在连接事件中调用它时,什么都不会发生。这是我的代码: 如果断开连接,我还尝试将endpoint图像更改回第一个外观,但在这种情况下,只有源endpoint更改,目标保持不变: 我错过了什么,或者我如何解决这个问题? 编辑:这里是JSFIDLE: https://