我在 log4j 中有这一行:
log4j.appender.FILE.File=${catalina.home}/logs/debug.log
当我从 IntelliJ 运行项目时完美运行。
但是当我尝试运行 TestNG 测试(来自 maven)时,它失败了:
log4j:ERROR setFile(null,true) 调用失败。java.io.FileNotFoundException: /logs/debug.log (没有这样的文件或目录)
我可以硬编码路径,一切都会好的。但我不想要那个解决方案,因为我可以部署在 ${catalina.home} 位于不同位置的各种系统上。
我在 mac 上开发并在 freebsd 和 centos 上部署。Tomcat 一直在不同的地方。我可以使用 /var/log/myapp.log 但是......
有什么方法可以用日志文件路径定义一个公共变量(在 IntelliJ 和运行 maven 测试时可用)?