Java 如何避免slf4j日志记录中出现多个日志文件?
我正在使用logback.xml实现SLF4J日志记录,但应用程序正在创建多个日志文件。 我需要为一个日期创建一个日志文件,所有日志级别都在同一个日志文件中 下面是我的logback.xml配置Java 如何避免slf4j日志记录中出现多个日志文件?,java,spring,logging,slf4j,Java,Spring,Logging,Slf4j,我正在使用logback.xml实现SLF4J日志记录,但应用程序正在创建多个日志文件。 我需要为一个日期创建一个日志文件,所有日志级别都在同一个日志文件中 下面是我的logback.xml配置 <?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="LOG_FILE_LOCATION" value="./log/" /> <appender name
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE_LOCATION" value="./log/" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] [%logger] - %msg%n</Pattern>
</layout>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] [%logger] - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_LOCATION}/manageng_%d{yyyy-MM-dd_HH-mm-ss}.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] [%logger] - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_LOCATION}/manageng_error_%d{yyyy-MM-dd_HH-mm-ss}.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="net.indecomm.manageng" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</logger>
<root level="ERROR">
<appender-ref ref="FILE-ERROR"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
[%d{yyyy-MM-dd HH:MM:ss}][%thread][%-5level][%logger]-%msg%n
[%d{yyyy-MM-dd HH:MM:ss}][%thread][%-5level][%logger]-%msg%n
${LOG\u FILE\u LOCATION}/manageng\u%d{yyyy-MM-dd\u HH-MM-ss}.LOG
10MB
[%d{yyyy-MM-dd HH:MM:ss}][%thread][%-5level][%logger]-%msg%n
${LOG\u FILE\u LOCATION}/manageng\u error\u%d{yyyy-MM-dd\u HH-MM-ss}.LOG
10MB
只需将其简化为:
<configuration>
<property name="LOG_FILE_LOCATION" value="./log/" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] [%logger] - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_LOCATION}/manageng_%d{yyyy-MM-dd_HH-mm-ss}.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="net.indecomm.manageng" level="debug" additivity="false">
<appender-ref ref="FILE"/>
</logger>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
</configuration>
[%d{yyyy-MM-dd HH:MM:ss}][%thread][%-5level][%logger]-%msg%n
${LOG\u FILE\u LOCATION}/manageng\u%d{yyyy-MM-dd\u HH-MM-ss}.LOG
10MB
只需将其简化为:
<configuration>
<property name="LOG_FILE_LOCATION" value="./log/" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] [%thread] [%-5level] [%logger] - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_LOCATION}/manageng_%d{yyyy-MM-dd_HH-mm-ss}.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="net.indecomm.manageng" level="debug" additivity="false">
<appender-ref ref="FILE"/>
</logger>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
</configuration>
[%d{yyyy-MM-dd HH:MM:ss}][%thread][%-5level][%logger]-%msg%n
${LOG\u FILE\u LOCATION}/manageng\u%d{yyyy-MM-dd\u HH-MM-ss}.LOG
10MB
感谢您的快速回复。但现在,使用我根本没有记录的所有必要数据创建的日志文件的数量甚至更多。记录器名称是根据包名称筛选日志。我只想打印我在任一级别记录的那些语句。不希望在日志文件中打印任何其他语句。日志文件在一天或一天内只能有一个。感谢您的快速回复。但现在,使用我根本没有记录的所有必要数据创建的日志文件的数量甚至更多。记录器名称是根据包名称筛选日志。我只想打印我在任一级别记录的那些语句。不希望在日志文件中打印任何其他语句。日志文件在一天或一个日期内只能有一个。