相对于maven项目路径的log4j appender

相对于maven项目路径的log4j appender,maven,log4j,relative-path,appender,Maven,Log4j,Relative Path,Appender,我正试图定义一个log4j appender,它将保存在我当前的maven项目中(仅适用于开发人员)。我不希望appender最终出现在我部署的webapp中,而是在我实际的maven项目中,在源代码旁边,不管我的webapp部署在哪里(当然是在本地) 我尝试过各种maven(和非maven)变量,但运气不佳 是否有一个变量我没有做到这一点? 感谢您的帮助。 谢谢 您是否尝试将${basedir}或${basedir}/target作为log4j.properties中的日志文件位置?在构建过程

我正试图定义一个log4j appender,它将保存在我当前的maven项目中(仅适用于开发人员)。我不希望appender最终出现在我部署的webapp中,而是在我实际的maven项目中,在源代码旁边,不管我的webapp部署在哪里(当然是在本地)

我尝试过各种maven(和非maven)变量,但运气不佳

是否有一个变量我没有做到这一点? 感谢您的帮助。
谢谢

您是否尝试将
${basedir}
${basedir}/target
作为log4j.properties中的日志文件位置?在构建过程中应该对其进行筛选。

您是否尝试将
${basedir}
${basedir}/target
作为log4j.properties中的日志文件位置?在构建过程中应该对其进行过滤。

不幸的是,它似乎不起作用。这对你有用吗?Thanks属性解析为空字符串。这是有意义的,因为整个日志上下文是在部署的webapp中初始化的,在web服务器中,${basedir}没有任何意义。另一方面,我可能会错过一些东西。感谢您的帮助。在您构建时,
src/main/resources
中的任何文件都会被复制(作为Maven构建的一部分)到target/classes,像
${basedir}
这样的字符串应该被过滤(即被替换)。所以您是说即使在部署应用程序时,${basedir}仍然会指向源代码?我将用一个示例脚本试一试,看看出了什么问题,因为它最初不起作用。谢谢,应该可以。在
目标
目录中检查文件的筛选版本。如果筛选工作正常,
{basedir}
应该被实际路径替换。您可能需要显式配置maven resources插件,但我认为它有合理的默认值。不幸的是,它似乎不起作用。这对你有用吗?Thanks属性解析为空字符串。这是有意义的,因为整个日志上下文是在部署的webapp中初始化的,在web服务器中,${basedir}没有任何意义。另一方面,我可能会错过一些东西。感谢您的帮助。在您构建时,
src/main/resources
中的任何文件都会被复制(作为Maven构建的一部分)到target/classes,像
${basedir}
这样的字符串应该被过滤(即被替换)。所以您是说即使在部署应用程序时,${basedir}仍然会指向源代码?我将用一个示例脚本试一试,看看出了什么问题,因为它最初不起作用。谢谢,应该可以。在
目标
目录中检查文件的筛选版本。如果筛选工作正常,
{basedir}
应该被实际路径替换。您可能需要显式配置maven资源插件,但我认为它有合理的默认值。