前言
前面一直在说,如何读取到log4j 的配置文件 log4j.properties。
接下来的探讨的是: log4j 里配置产生的log 文件的路径如何设置。
tomcat 还好。拿复杂点的 weblogic 来说,因为不解压war 档,这个路径该如何设置。
在上一篇
中也提到了,如果没有配置路径, logfile.log默认也会放到 base_domain目录下。
当然你配置一个绝对路径,但是,这绝对是不被推荐的。
可以通过 ${param} /logfile.log 设置相对路径。
在
这一篇中, 有提到 log4j 的配置可以配置系统变量 。
基于此, 配置 log4j 的相对路径的方法就有2种了。
方法一: 通过 servlet 初始化init() 方法中设置log_dir的系统变量
这个系统的变量名可以随便取, 只需要保证在 init 方法中和log4j 中使用的变量名一致就可以了。
System.setProperty("log_dir", "C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\logs");
当然, 这里配置的log_dir 不能使用绝对路径。
可以通过 getServletContext().getRealPath("/"); 等这样一些方法定位到一些相对路径。
当然这种配置方式,也可以直接设置配置文件中的 log4j.appender.logfile.File
String logFile = spath+"/" &