配置 log4j 在运行时记录到自定义文件

2023-12-23

任何人都可以指导我如何配置 log4j 以记录到我在运行时指定的特定文件。日志文件的名称和路径是在运行时生成的,应用程序必须记录到该特定文件。

通常,log4j.properties 文件中的文件附加器条目指向应用程序将使用的日志文件。但是在这种情况下,我想从命令行读取日志文件路径并将日志记录到该特定文件。

我怎样才能做到这一点?


您还可以通过 log4j.properties 文件执行此操作。使用下面的示例文件我添加了系统属性${日志文件.名称}:

# logfile is set to be a RollingFileAppender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${logfile.name}
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%-5p]%d{yyyyMMdd@HH\:mm\:ss,SSS}\:%c - %m%n

然后可以通过两种不同的方式设置日志文件名:

  1. 作为命令行,系统属性传递给 java“-Dlogfile.name={logfile}”
  2. 直接在 java 程序中设置系统属性(在调用 log4j 之前)。

    System.setProperty("logfile.name","某个路径/日志文件名称字符串");

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 log4j 在运行时记录到自定义文件 的相关文章

随机推荐