在项目路径旁边的服务器上的记录器路径

时间:2016-11-08 14:26:31

标签: java web-services log4j

我有网络服务项目,想获得项目的根路径来定义与项目路径相关的记录器文件路径... 我知道这段代码,我不知道它是否有效......?

public void contextInitialized(ServletContextEvent event) {
    ServletContext context = event.getServletContext();
    System.setProperty("rootPath", context.getRealPath("../Logs/"));
}

然后是代码的记录器部分

log4j.appender.file.File=${rootPath}WEB-INF/logs/TecnichalLog.log log4j.appender.file.File=${rootPath}WEB-INF/logs/PerformanceLog.log

注意:我正在使用嵌入式tomcat,所以我无法使用${catalina.base} ...

谢谢

1 个答案:

答案 0 :(得分:0)

最好使用项目中的相对路径。该路径将相对于启动tomcat的文件夹。通常/ bin /。 或者,如果您知道运行时环境并且它在所有节点上都是一致的,那么使用绝对路径没有任何问题。