在运行时设置log4j日志文件

js4nwp54  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(496)

我正在开发一个使用slf4j的java程序。目前,该程序包含以下行:

  1. class MyOwn{
  2. Logger logger; //org.slf4j.*;
  3. static {
  4. PropertyConfigurator.configure("somePathTo/log4j.properties");//log4j
  5. logger = LoggerFactory.getLogger(MyOwn.class);
  6. }
  7. ... // rest of my code is here
  8. }

我的问题是:为了在运行时指定日志文件的名称,我需要做哪些修改。
背景:基本上,当程序运行时,它应该 x 按顺序的作业数。对于每个作业,我需要不同的文件名。
log4j.properties文件不是xml;它是文本,我必须保持这种方式。我找到了这个链接(http://cognitivecache.blogspot.com/2008/08/log4j-writing-to-dynamic-log-file-for.html)但我不知道如何使用那里的信息。
编辑
下面是我当前的log4j.properties文件。我希望能够在log4j.properties文件(即。 /opt/stuff/var/log/jmy/proj/ )换个地方就行了 myown.log 使用动态文件名。我该怎么做?同样,我想保留log4j属性。

  1. log4j.appender.CONSOLE=org.apache. log4j.ConsoleAppender
  2. log4j.appender.CONSOLE.layout=org.apache. log4j.PatternLayout
  3. log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c{1} - %m%n
  4. log4j.rootLogger=INFO, CONSOLE
  5. log4j.appender.MY_OWN_ERR_LOG=org.apache. log4j.RollingFileAppender
  6. log4j.appender.MY_OWN_ERR_LOG.File=/opt/stuff/var/log/jmy/proj/myown.error.log
  7. log4j.appender.MY_OWN_ERR_LOG.MaxFileSize=4MB
  8. log4j.appender.MY_OWN_ERR_LOG.MaxBackupIndex=3
  9. log4j.appender.MY_OWN_ERR_LOG.layout=org.apache. log4j.PatternLayout
  10. log4j.appender.MY_OWN_ERR_LOG.layout.ConversionPattern=%d %-5p %c{1} - %m%n
  11. log4j.appender.MY_OWN_ERR_LOG.Threshold = WARN
  12. log4j.appender.MY_OWN_LOG=org.apache. log4j.RollingFileAppender
  13. log4j.appender.MY_OWN_LOG.File=/opt/stuff/var/log/jmy/proj/myown.log
  14. log4j.appender.MY_OWN_LOG.MaxFileSize=8MB
  15. log4j.appender.MY_OWN_LOG.MaxBackupIndex=3
  16. log4j.appender.MY_OWN_LOG.layout=org.apache. log4j.PatternLayout
  17. log4j.appender.MY_OWN_LOG.layout.ConversionPattern=%d %-5p %c{1} - %m%n
  18. log4j.logger.my.own.things=DEBUG, MY_OWN_LOG, MY_OWN_ERR_LOG
tvokkenx

tvokkenx1#

请看这篇文章,它使用log4j以编程方式创建不同的日志文件
您可以指定任何可以通过编程方式放入log4j.properties文件的内容。您只需创建appender和logger对象并将它们链接在一起。
另请参见此处以获取更完整的示例:http://configlog4jbyprogram.blogspot.co.uk/

相关问题