1 pom中配置log依赖的几个jar
2.spring中配置logback
<bean id="logInitialization" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" value="ch.qos.logback.ext.spring.LogbackConfigurer" /> <property name="targetMethod" value="initLogging" /> <property name="arguments"> <value>classpath:conf/logback.xml</value> </property> </bean>3.logback配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!-- scanPeriod 默认60s --> <configuration scan="true" scanPeriod="60"> <!-- 自定义变量:日志保留天数 --> <property name="maxHistoryDay" value="30" /> <!-- 控制台输出日志 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> </appender> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/info.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>${maxHistoryDay}</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> <level>INFO</level> </filter> </appender> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/error.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>${maxHistoryDay}</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"><!-- 只打印错误日志 --> <level>WARN</level> </filter> </appender> <appender name="DUBBO_INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/dubbo.info.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>${maxHistoryDay}</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> <level>INFO</level> </filter> </appender> <!--根logger控制 --> <root level="INFO"> <appender-ref ref="CONSOLE" /> <appender-ref ref="INFO_FILE" /> <appender-ref ref="ERROR_FILE" /> </root> </configuration>