Tôi có một dự án nhỏ với Spring Boot và maven, và bây giờ tôi đang cố gắng cấu hình logback để ghi vào một tập tin. Tôi muốn nó ghi vào một tập tin được đưa ra bởi ${project.build.directory}/${log.folder}/logfile.log
, do đó, một thư mục con của thư mục xây dựng, là ${log.folder}
thuộc tính mà tôi chỉ định trong một tệp application.properties
, đặt dưới thư mục /resources
của tôi.logback không tìm thấy thuộc tính của maven project.build.directory
Đây là logback.xml tôi
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.boot" level="INFO"/>
<logger name="org.springframework.security" level="ERROR"/>
<logger name="org.glassfish.jersey" level="DEBUG"/>
<property resource="application.properties"/>
<appender name="DUMMY_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${project.build.directory}/${log.folder}/logfile.log</file>
<encoder>
<pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS zzz"}, [%thread] %-5level %logger{5} - %msg%n
</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/spring.log.%d</fileNamePattern>
</rollingPolicy>
</appender>
<logger name="xxxxxx" level="INFO" additivity="false">
<appender-ref ref="DUMMY_APPENDER"/>
</logger>
<root level="INFO">
<appender-ref ref="DUMMY_APPENDER"/>
</root>
</configuration>
Nó viết các bản ghi, nhưng vấn đề của tôi là khi tôi chạy ứng dụng, nó tạo ra một thư mục project.build.directory_IS_UNDEFINED, sau đó đặt log.folder tôi dưới nó. Nó nói in the documentation, rằng
Là công cụ xây dựng của nó, logback dựa vào Maven, một công cụ xây dựng mã nguồn mở được sử dụng rộng rãi .
Và khi, trong logback.xml, tôi bắt đầu nhập $ {pro ... thì IDE của tôi hiển thị một tập hợp có sẵn maven implicit properties.
Vì vậy, nó sẽ làm việc, nhưng nó không. Bất kỳ ý tưởng tại sao?