我有网络服务项目,想获得项目的根路径来定义与项目路径相关的记录器文件路径... 我知道这段代码,我不知道它是否有效......?
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}
...
谢谢
答案 0 :(得分:0)
最好使用项目中的相对路径。该路径将相对于启动tomcat的文件夹。通常/ bin /。 或者,如果您知道运行时环境并且它在所有节点上都是一致的,那么使用绝对路径没有任何问题。