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

日志文件名以在log4j中包括当前日期

东郭存
2023-03-14
问题内容

这个问题的一个子集此。我希望每天使用以下日志文​​件名格式创建一个日志文件:
downloadmanageryyyy-MM-dd.log
使用,DailyRollingAppender但根本不创建日志文件。

我的lo4j.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="InfoLogFile" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="downloadmanager.log"/>
       <param name="DatePattern" value=".yyyy-MM-dd" />
       <layout class="org.apache.log4j.PatternLayout"> 
       <param name="ConversionPattern" 
      value="%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n  %-5p %m%n"/>
      </layout>
   </appender>  
  </log4j:configuration>

问题答案:

DailyRollingFileAppender直到午夜后的某个时间记录了第一条消息后,使用log4j附带的发货才重命名日志文件。

您可以尝试使用DatedFileAppender,可以从此处下载。与相反DailyRollingFileAppender,它将创建日志文件,其文件名始终包含今天的日期。



 类似资料:
  • 问题内容: 我想将log4j和log4net附加程序的日志文件名设置为具有当前日期。我们正在做每日翻转,但是当前的日志文件没有日期。日志文件名称格式为 有人知道我最好的方法吗? 编辑:我忘了提到我们也想在log4net中做到这一点。另外,任何解决方案都需要在JBoss中可用。 问题答案: DailyRollingFileAppender正是你要搜索的内容。

  • 问题内容: 我们有几个同时运行的作业,它们必须为log4j使用相同的配置信息。他们都使用相同的附加程序将日志转储到一个文件中。有没有一种方法可以让每个作业动态命名其日志文件,以使它们保持独立? 谢谢 汤姆 问题答案: 您可以为每个作业传递Java系统属性吗?如果是这样,您可以像这样进行参数化: 然后在您的log4j.properties中: 您可以使用主机环境(例如)中的值填充Java系统属性,该

  • 我正在使用的当前appender如下所示(它根据大小对日志文件进行归档)。

  • 问题内容: 在我当前的项目中,我想按日期创建日志文件,即日志文件应驻留在 名称为date的文件夹中。归档也应在该特定文件夹中进行。 我正在使用的当前Appender看起来像这样(它会根据大小对日志文件进行归档)。 问题答案: 如fileNamePattern的文档中所述,您可以指定多个%d标记,以便将日期放入归档文件名的文件夹名称中: 请注意,只有一个%d令牌可以是主令牌,所有其他令牌必须通过传递

  • 我是log4j的新手。我创建了一个在其中实现log4j的示例java程序。 下面是java程序: 我正在控制台屏幕上获取输出。但是没有生成日志文件。我还使用以下链接在Eclipse neon中配置了我的项目:配置 我做了一切好事。但是日志文件没有生成。当我以编程方式实现log4j时,文件正在生成。以下是我的属性文件: 我需要做什么才能让Log4J写入日志文件?

  • 问题内容: 我正在开发一个通过Commons使用Log4J的项目。 我正在尝试找到日志文件的路径,但是没有找到合适的方法来从Logger返回日志文件的路径。 有人尝试过吗? 问题答案: 您必须 从根记录器 获取所有附加程序,然后获取日志文件的名称。