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

如何使用log4j创建多个日志文件

鲁峰
2023-03-14

我想创建单独的日志文件,一个用于信息,另一个用于调试,我正在使用下面的log4j.property文件,请建议如何修改不同文件中的两级日志记录,

# Root logger option
log4j.rootLogger=info, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=infoLog.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n


log4j.rootCategory=DEBUG, console     
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n
log4j.appender.console.Target=System.out

我想请求请发送我更新的属性文件而不是给我搜索或探索的指针,因为我已经花了3-4个小时在Google和StackOverflow上搜索这个解决方案,

提前道谢。

共有1个答案

吴单鹗
2023-03-14

我希望这会有所帮助

log4j.rootLogger=INFO,Appender2

log4j.logger.infoMessagesLogger=INFO, infoMessagesAppender
log4j.additivity.infoMessagesLogger=false

log4j.logger.debugMessagesAppender=DEBUG, debugAppenderAll
log4j.additivity.debugMessagesAppender=false

log4j.appender.Appender2=org.apache.log4j.RollingFileAppender
log4j.appender.Appender2.File=generic.log
log4j.appender.Appender2.MaxFileSize=20MB
log4j.appender.Appender2.MaxBackupIndex=10
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss } %-5p %c %x -%m%n


log4j.appender.infoMessagesAppender=org.apache.log4j.RollingFileAppender
log4j.appender.infoMessagesAppender.File=info.log
log4j.appender.infoMessagesAppender.MaxFileSize=20MB
log4j.appender.infoMessagesAppender.MaxBackupIndex=10
log4j.appender.infoMessagesAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.infoMessagesAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss } %-5p %c %x -%m%n

log4j.appender.debugAppenderAll=org.apache.log4j.RollingFileAppender
log4j.appender.debugAppenderAll.File=debug.log
log4j.appender.debugAppenderAll.MaxFileSize=20MB
log4j.appender.debugAppenderAll.MaxBackupIndex=10
log4j.appender.debugAppenderAll.layout=org.apache.log4j.PatternLayout
log4j.appender.debugAppenderAll.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss } %-5p %c %x -%m%n
 类似资料:
  • 我使用log4j进行日志记录,并且使用.log格式的所有日志文件,其结构简单,如; log4j.rootcategory=info,C,R log4j.appender.c=org.apache.log4j.consoleappender log4j.appender.c.layout=org.apache.log4j.patternlayout log4j.appender.r.layout=o

  • 问题内容: 我想在我的Java项目中使用Log4j,我应该在配置文件中提供该配置,该配置文件每天晚上12:00将生成一个新文件,并且文件名应类似于 -output- log-of-MyProjectName-HostName-2013-Dec-10。 txt 名称)。我的配置文件就是这样- 它每天都在创建新文件,但在文件名后附加日期。请帮我。提前致谢。 问题答案: 我认为您想要DailyRolli

  • 问题内容: 有没有一种方法可以配置log4j,以便将不同级别的日志记录输出到不同的附加程序? 我正在尝试设置多个日志文件。主日志文件将捕获所有类的所有INFO及以上消息。(在开发中,它将捕获所有DEBUG和以上消息,以及特定类的TRACE。) 然后,我想要一个单独的日志文件。该日志文件将捕获特定类子集的所有DEBUG消息,而忽略其他任何类的所有消息。 有没有办法得到我想要的? 问题答案: 这应该使

  • 大家好,我的社区, 我正在编写一个多线程应用程序,其中需要使用log4j为每个线程输出一个日志文件。理想情况下,我希望为每个线程运行一个单独的日志实例。我正在辩论我应该如何处理这个问题。因为每个日志实例的文件输出位置不同,所以我需要更新每个实例的属性。现在,我正在尝试创建一个新的记录器,将新属性设置到属性对象中,并使用

  • 问题内容: 我正在尝试配置log4j以将消息记录到文件中。现在,确实使用我提供的名称创建了该文件,但是日志未写入该文件。我的代码: 我文件的内容: 运行此命令时,将在控制台中获得以下输出: 该文件确实在我的主目录中创建。但是它是空的。 有什么想法我做错了吗?我正在使用log4j 1.2.17版。 问题答案: 输出似乎是Java标准日志记录框架(JUL)发出的默认格式。 因此,有两种可能性(想到):