在.properties文件中指定用户的主目录

时间:2018-03-07 16:24:36

标签: properties-file p6spy

我正在尝试将p6spy(3.x.x)集成到我的项目中,而在spy.properties文件中,我想指定

logfile=${user.home}/logs/spy-%d{yyyyMMdd}.log

或至少

logfile=${user.home}/logs/spy.log 

到目前为止,我无法做到,并且FileNotFoundException执行失败

java.io.FileNotFoundException: ${user.home}/logs/spy.log (No such file or directory) 

Mine是一个Spring Boot项目,协作者运行不同的操作系统。默认情况下,它在项目根目录中创建spy.log文件,这是不好的。

是否可以在.properties文件中指定相关路径,就像我想要的那样?如果是,怎么样?

非常感谢!

1 个答案:

答案 0 :(得分:0)

P6spy不支持占位符。这就是$ {user.home}无法识别的原因,您可以尝试从我的库https://github.com/gavlyukovskiy/spring-boot-data-source-decorator中将p6spy集成到Spring引导中的p6spy-spring-boot-starter,允许您使用application.properties/yml,而不是支持占位符spy.properties。

您应该将它放入您的应用程序属性中: decorator.datasource.p6spy.logging=file decorator.datasource.p6spy.log-file=${user.home}/logs/spy.log

但是如果你想要旋转日志,最好使用slf4j并在你的日志库中添加自定义appender以仅捕获p6spy日志。