繁体   English   中英

创建动态log4j输出文件

[英]Creating a dynamic log4j output file

我正在尝试使用html布局制作一个log4j文件。 这是我的log4j文件

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/htmlLayout.html

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.Title=HTML Layout Example
log4j.appender.FILE.layout.LocationInfo=true

这是静态的,但是我要使其成为主方法可以通过此行

 log4j.appender.FILE.File=myfilepath/myfilename.html 

我怎样才能做到这一点? 当前,我正在尝试使用属性,但是它删除了所有内容,并且仅显示此行。

请注意,日志文件路径取决于执行我的项目的jar文件的位置,它将像这样

(jarDir)/logs/myfilename.html

您必须直接调用log4j配置器,而不是能够依赖默认的初始化行为。 将属性文件命名为log4j.properties以外的名称,以便默认过程找不到它,然后可以在代码中执行

Properties props = new Properties();
// if MyClass is in package com.example, look for
// com/example/log4j-config.properties inside the jar
InputStream in = MyClass.class.getResourceAsStream("log4j-config.properties");
try {
  props.load(in);
} finally {
  in.close();
}

// override file location
props.setProperty("log4j.appender.FILE.File", "myfilepath/myfilename.html");

LogManager.resetConfiguration();
PropertyConfigurator.configure(props);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM