LOG4J的配置

2019-03-25 13:39|来源: 网路

我现在需要一个log4j的配置文件,要求每个日志文件的大小为200MB,如果达到该大小,保存下原来的日志文件重新在创建一个文件保存日志。请教

问题补充:
Dxx23 写道
######################## 
# Rolling File 
######################## 
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#指定日志消息的输出最低层次
log4j.appender.ROLLING_FILE. Threshold= ERROR 
#指定消息输出到rolling.log 文件
log4j.appender.ROLLING_FILE. File = rolling.log 
#默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容
log4j.appender.ROLLING_FILE. Append = true 
#后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来#的内容移到rolling.log .1文件
log4j.appender.ROLLING_FILE. MaxFileSize= 200MB
#指定可以产生的滚动文件的最大数
log4j.appender.ROLLING_FILE. MaxBackupIndex= 2
#配置日志信息的输出格式
log4j.appender.ROLLING_FILE.layout= org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern= [ framework] % d - % c - % - 4r [ % t] % - 5p % c % x - % m% n


这个配置我试验过类似的,文件是产生了,但是到达200MB时,原日志文件就会丢失,重新生成一个空白文件存储接下来的日志。不知道能不能用RollingFileAppender保存下原来的日志呢!

问题补充:
skzr.org 写道
setMaxBackupIndex参考

你复制的时候难道还保持了期间的空格??????????

#原来的--->.后面有空格
log4j.appender.ROLLING_FILE. MaxFileSize= 200MB
#不要空格
log4j.appender.ROLLING_FILE.MaxFileSize= 200MB

这个当然没有了,我做过类似你这样的配置的测试,虽然会生成日志但是好像以前的日志都丢失了,比如我设置MaxBackupIndex=3,那么 当生成第二个日志文件达到200MB时,生成第三个日志文件后,第一个日志文件丢失了。

相关问答

更多
  • 你能解释为什么你想更详细地记录多个记录器吗? 我不认为有可能有多个log4j实例。 如果你只是想多个appender,看看这里: http://www.velocityreviews.com/forums/t721794-log4j-different-logger-instances.html 这里是上面链接的log4j.properties: # logj4.properties log4j.rootCategory = WARN, A log4j.category.com.lewscanon = WA ...
  • 你不能使用slf4j,你只需保留log4j的旧配置代码。 slf4j不处理配置部分,这对于所有支持的日志记录系统来说很难概括。 slf4j只是一个用于处理调度到特定日志记录实现的日志记录调用的API。 它还提供了许多桥接,例如将java.util.logging重定向到slf4j。 日志输出会发生什么不是slf4j API的一部分。 You can't use slf4j for that, you just keep your old configuration code for log4j. slf4j ...
  • 您的配置文件未正确写入。 Appender不应该是类/包减速,而是一种你想输出消息的appender(如果你想输出到默认的appender,请保持空白) 该文件看起来应该更像: log4j.rootLogger=FATAL log4j.logger.com.A=DEBUG Your configuration file isn't properly written. Appender shouldn't be the class/package deceleration but a type of ap ...
  • 我终于改变了maven声纳配置文件中的log4g文件链接。 I finally changed the log4g file link in the maven sonar profile.
  • 基于这个问题的答案,log4j2似乎相当复杂(这是我假设您正在使用的,因为您正在讨论使用JSON配置文件,这在log4j 1.x中不存在据我所知)。 如果您愿意使用XML或属性log4j配置并降级到log4j 1.x,则可以使用PropertyConfigurator.configure(String)或DOMConfigurator.configure(String)具体取决于您是使用属性还是XML配置文件。 Based on the answers to this question, it seems ...
  • 你可以,我想定期轮询Log4j API,询问你的自定义appender是否被附加(使用Category.isAttached(appender) ),并在必要时重新附加。 它非常笨重,但我不知道任何通知机制。 You could, I suppose periodically poll the Log4j API asking if your custom appenders are attached (using Category.isAttached(appender)), and re-attach ...
  • 您可能能够使用日志配置DSL构建在不明确访问环境的情况下在环境上进行分支。 environments { development { loggers.add('console') } test { loggers.add('console') } } 这就是说,我不确定你在配置的其他部分试图完成什么,所以可能有更好的方法来处理事情。 You may be able to use the log config DSL construction to branch on environment ...
  • 好的,从你的评论,我在这里尝试。 我想你会在你的应用程序开始时创建你的10个实例。 无论如何。 在你的log4j.xml中,使用name = yourUniqueId定义10 appender(这个唯一的id将是硬编码的) 让这些appender写入yourUniqueid.log ...
  • 当我第一次开始学习log4j ,我首先从这里开始了解它的架构Log4j 。 在那里,您还可以找到使用此API所需的log4j jar的下载链接。 关于log4j.properties文件,您必须自己创建它。 我将在下面添加一个样本 #Define the root logger with the appender FILE log4j.rootLogger = INFO,FILE 将名为FILE的appender设置为File Appender log4j.appender.FILE = org.apac ...
  • 该消息只是一个通知,表明log4j尚未配置为记录来自org.displaytag.properties.TableProperties类(如果有)的消息。 这不是一个问题..通常这可以忽略。 the message is just a notification that log4j hasn't been configured to log messages from org.displaytag.properties.TableProperties class (if any).. this is not ...