【发布时间】:2021-08-20 08:25:52
【问题描述】:
我正在尝试为我的 Spring Boot 应用程序创建多个日志文件。我已经配置了 logback.xml 文件。我可以在我的日志文件中附加休眠弹簧数据查询。但是,当我尝试在 spring-data-elasticsearch 存储库创建的日志文件上附加 elasticsearch 查询日志时,我没有在文件中获得任何日志。 我已经在我的 logback.xml 文件中添加了这个:
<configuration>
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{40}.%M - %msg%n" />
<property name="APP_LOG_ROOT" value="/mylog/log"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<appender name="applicationLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${APP_LOG_ROOT}/application.log</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${APP_LOG_ROOT}/application.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="hibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${APP_LOG_ROOT}/hibernate.log</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${APP_LOG_ROOT}/hibernate.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="databaseLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${APP_LOG_ROOT}/database.log</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${APP_LOG_ROOT}/database.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<!--<logger name="org.hibernate.type.descriptor.sql" level="trace">-->
<logger name="org.hibernate.SQL" level="trace" additivity="false">
<appender-ref ref="hibernateLog" />
</logger>
<logger name="org.springframework.data.elasticsearch.client.WIRE" level="trace">
<appender-ref ref="databaseLog" />
<appender-ref ref="console" />
</logger>
<logger name="com.test" level="info">
<appender-ref ref="applicationLog" />
<!--<appender-ref ref="console" />-->
</logger>
<root level="info">
<appender-ref ref="console" />
</root>
</configuration>
我也试过here
<logger name="org.springframework.data.elasticsearch.core.*" level="debug" additivity="false">
<appender-ref ref="databaseLog" />
<appender-ref ref="console" />
</logger>
但两者都不起作用。如何解决这个问题?我不想从属性文件中设置它们,因为我不知道如何配置来自 .properties 文件的多个文件的日志记录
另一个问题:如果我多次为多个包引用同一个日志附加器,会有什么问题吗?
【问题讨论】:
标签: spring elasticsearch spring-logback