log4j.appender.myLogFile.File=E:/logs/test/main.log
上面这一行,是典型的log4j的log文件路径配置。那么,能否根据程序的不同参数,将log输出到不同的路径呢。答案是有的,实例代码如下
java代码:
public static Logger getLoggerByAccout1(String accout)
{
if (null == rootLog)
{
System.setProperty("myconfig.accout", accout);
rootLog = Logger.getRootLogger();
}
return rootLog;
}
log4j配置:
log4j.appender.myLogFile.File=E:/logs/${myconfig.accout}/main.log
先通过System.setProperty方法,写入myconfig.accout变量为4。这时候,log4j创建实例时,就会获取到${myconfig.accout}的值为4,于是,File的值,就是E:/logs/4/main.log了
注:
按道理来说,可以在java代码中配置File路径。但实际验证时,每次重新启动程序并输出log,log文件都会被完全覆盖,上一次程序输出的log,就都没了,还没找到解决办法。因此,也就不贴这个方法的代码了。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。