日志配置

<?xml version="1.0" encoding="UTF-8"?>

<configuration  scan="true" scanPeriod="10 seconds" debug="false">







logback-spring.xml 文件配置如下


  <property name="log.path" value="df_log" />

<springProperty scope="context" name="logDir" source="log.dir" defaultValue="./logs"/>

<property name="console_log_pattern"

              value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>

<property name="charset" value="UTF-8"/>


    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">



        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>DEBUG</level>

</filter>

<encoder>


            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] [q=%X{logId}] %-5level %logger{35} - %msg%n</pattern>

</encoder>

</appender>

<appender name="INFO-FILE" class="ch.qos.logback.classic.sift.SiftingAppender">

<discriminator>

<key>logId</key>

<defaultValue>dfkj</defaultValue>

</discriminator>

<sift>

<appender name="FILE-${logId}" class="ch.qos.logback.core.rolling.RollingFileAppender">

<append>true</append>

<encoder>


                    <pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] [q=%X{logId}] %-5level %logger{35} - %msg%n</pattern>

</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<fileNamePattern>${logDir}/%d{yyyy-MM-dd}/${logId}.log</fileNamePattern>


                    <maxHistory>5</maxHistory>

<totalSizeCap>100MB</totalSizeCap>

</rollingPolicy>

</appender>

</sift>

</appender>


<!–格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符–>

%d{yyyy-MM-dd HH:mm:ss.SSS} %X{REQUEST_ID} [%thread] %-5level %logger{50} - %msg%n

-->


    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">


            <FileNamePattern>${logDir}/qqq.log.%d{yyyy-MM-dd}.log</FileNamePattern>


            <MaxHistory>30</MaxHistory>

</rollingPolicy>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">


            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [qq=%X{logId}] [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>


        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>


    <appender name="INFO_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">


        <filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>info</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<append>true</append>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<fileNamePattern>${logDir}/info-stdms2.log.%d{yyyy-MM-dd}</fileNamePattern>


            <maxHistory>5</maxHistory>

<totalSizeCap>100MB</totalSizeCap>

</rollingPolicy>

<encoder charset="UTF-8">

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}-dfl - [%thread] %-5level -[%C] - %msg%n</pattern>

</encoder>

</appender>

<appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">

<encoder>

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] %-5level -[%C] - %msg%n</pattern>

<charset>${charset}</charset>

</encoder>


        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">


            <fileNamePattern>${log.path}/info3/df-log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

<maxFileSize>100MB</maxFileSize>

</timeBasedFileNamingAndTriggeringPolicy>


            <maxHistory>15</maxHistory>

</rollingPolicy>


        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<maxFileSize>10MB</maxFileSize>

</triggeringPolicy>


        <filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>INFO</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<append>true</append>

</appender>


    <appender name="warn_file" class="ch.qos.logback.core.rolling.RollingFileAppender">

<encoder>

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] %-5level -[%C] - %msg%n</pattern>

<charset>${charset}</charset>

</encoder>


        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">


            <fileNamePattern>${log.path}/info3/df-warn-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>

<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

<maxFileSize>100MB</maxFileSize>

</timeBasedFileNamingAndTriggeringPolicy>


            <maxHistory>15</maxHistory>

</rollingPolicy>


        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

<maxFileSize>10MB</maxFileSize>

</triggeringPolicy>


        <filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>WARN</level>

<onMatch>ACCEPT</onMatch>

<onMismatch>DENY</onMismatch>

</filter>

<append>true</append>

</appender>


    <appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">

</appender>


root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性

level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,默认是DEBUG

可以包含零个或多个appender元素。

-->


127.0.0.1:9061

{"host":"${HOSTNAME}", "appname":"df-kj","appname2":"df-kj2"}

-->

    <root level="debug">

<appender-ref ref="console" />

<appender-ref ref="info_file" />

<appender-ref ref="warn_file"/>

<appender-ref ref="error_file"/>

<appender-ref ref="INFO_APPENDER" />

<appender-ref ref="INFO-FILE" />

<appender-ref ref="FILE" />


    </root>


用来设置某一个包或者具体的某一个类的日志打印级别、以及指定。

仅有一个name属性,

一个可选的level和一个可选的additivity属性。

name:用来指定受此logger约束的某一个包或者具体的某一个类。

level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,

如果未设置此属性,那么当前logger将会继承上级的级别。

additivity:是否向上级logger传递打印信息,默认是true

-->


第一种把改成这样就会打印sql,不过这样日志那边会出现很多其他消息

第二种就是单独给mapper下目录配置DEBUG模式,代码如下,这样配置sql语句会打印,其他还是正常DEBUG级别:

-->

    <logger name="com.hyh.logback.web.LogTestController" level="WARN" additivity="false">

<appender-ref ref="console"/>

<appender-ref ref="warn_file"/>

<appender-ref ref="error_file"/>

</logger>

<logger name="org.springframework.web.servlet.mvc.method.annotation" level="INFO" additivity="false">


-->

    </logger>


<!–

–>

-->


    <logger name="com.df.controller" level="INFO" >


-->

    </logger>




<!–可以输出项目中的debug日志,包括mybatis的sql日志–>

<!–

root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性

level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,默认是DEBUG

可以包含零个或多个appender元素。

–>

-->

</configuration>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容