在logback.xml中有没有办法通过classpath:指定文件日志目的地,没有绝对路径?

我在我的logback.xml配置文件中这个appender:

 classpath:addressbookLog.log  %d{dd MMM yyyy;HH:mm:ss} %-5level %logger{36} - %msg%n    classpath:addressbookLog.%i.log.zip 1 10   2MB   

所以我指定文件的路径,通过类路径以相对的方式打印日志,但它不起作用,没有创建和写入文件addressbookLog.log。 它只适用于像/home/andrea/…/resources/addressbookLog.log这样的绝对路径。您对如何使用classpath有任何想法吗?

第3章:Logback配置:变量替换告诉我们引用外部定义的变量的各种方法,例如system propertiesclasspath

重要的配置是创建一个包含所有变量的单独文件。 我们可以在类路径上引用资源而不是文件。 例如

logback.xml

     ${USER_HOME}/myApp.log  %msg%n       

外部属性文件(resource1.properties)

 USER_HOME=/path/to/somewhere 

请注意, resource1.propertiesclasspath中可用的资源。

您可以参考第3章中的完整版:Logback配置:变量替换 。 我希望这可能有所帮助。

${user.dir}/logs/addressbookLog.%i.log.zip