Logback經常使用配置詳解java
當使用報錯時:spring
須要添加包sql
<dependency> <groupId>org.codehaus.janino</groupId> <artifactId>janino</artifactId> <version>3.0.8</version> </dependency>
將logger中的 additivity 屬性配置爲 false,則這個logger不會將日誌流反饋到root配置的appender文件中apache
<?xml version="1.0" encoding="UTF-8"?> <!-- 只需配置好 log.dir 和 projectname 屬性 --> <configuration debug="false"> <property name="log.dir" value="/alidata1/admin/${log.dir}noob-mics/logs" /> <property name="projectname" value="noobmics" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <target>System.out</target> <encoder charset="UTF-8"> <pattern>%d [%thread] %-5p [%c] [%F:%L] - %msg%n</pattern> </encoder> </appender> <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.dir}/${log.dir}noob-ss_regular_app_${projectname}_lt_info.log</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.dir}/${log.dir}noob-ss_regular_app_${projectname}_lt_info-%d{yyyy-MM-dd}.log </fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder charset="UTF-8"> <pattern>%d [%thread] %-5p [%c] [%F:%L][trace=%X{X-Trace-Id:-},span=%X{X-Span-Id:-},parent=%X{X-Parent-Id:-},name=%X{X-Span-Name:-},app=%X{appname:-},begintime=%X{begintime:-},endtime=%X{fin-X1-time:-}]- %msg%n</pattern> </encoder> </appender> <appender name="sqlAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.dir}/${log.dir}noob-ss_sql_${projectname}_info.log</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.dir}/${log.dir}noob-ss_sql_${projectname}_info-%d{yyyy-MM-dd}.log </fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder charset="UTF-8"> <pattern>%d [%thread] %-5p [%c] [%F:%L][trace=%X{X-Trace-Id:-},span=%X{X-Span-Id:-},parent=%X{X-Parent-Id:-},name=%X{X-Span-Name:-},app=%X{appname:-},begintime=%X{begintime:-},endtime=%X{fin-X1-time:-}]- %msg%n</pattern> </encoder> </appender> #if(property("DEPLOY_ENV")== "" || property("DEPLOY_ENV").equals("dev")) <logger name="org.mybatis.spring" level="DEBUG" /> <logger name="java.sql" level="DEBUG" /> #end <logger name="org.apache" value="INFO" /> <logger name="org.springframework" value="INFO" /> <logger name="com.alibaba.dubbo" value="INFO" /> <logger name="com.alibaba.dubbo" value="INFO" /> <logger name="sqlLog" level="INFO" additivity="false"> <!-- 對應java代碼: Logger sqlLogger = Logger.getLogger("sqlLog")--> <appender-ref ref="sqlAppender"/> </logger> <root> <level value="INFO"> <if condition ='property("DEPLOY_ENV")== "" ||property("DEPLOY_ENV").equals("dev")'> <then> <appender-ref ref="STDOUT" /> </then> </if> <appender-ref ref="infoAppender" /> <appender-ref ref="errorAppender" /> </root> </configuration>