您的位置:首页 > 其它

logback日志及slf4jdbc的使用

2014-08-22 13:50 239 查看
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds" debug="false">

    <!--打印logback初始化日志系统信息,debug="true"是同等效果-->
    <!--<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener"/>-->

    <!--<property name="contextPath" value="E:/project/company/hxtd"/>-->
    <property name="contextPath" value="/home/logs/charm"/>

    <property name="logPath" value="${contextPath}"/>

    <appender name="rootConsole" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
        </encoder>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹all/root.log文件中
    	配置所有类所有级别的滚动日志
    	all/root.log文件中的日志级别是同root标签中相同	
    -->
    <appender name="rootRollingAll" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/all/root.log</file>
		
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/all/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹info/root.log文件中
    	配置所有类INFO级别的滚动日志-->
    <appender name="rootRollingInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/info/root.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/info/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- info/root.log文件中的日志级别是 INFO以上的级别 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹warn/root.log文件中
    	配置所有类WARN级别的滚动日志-->
    <appender name="rootRollingWarn" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/warn/root.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/warn/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- warn/root.log文件中的日志级别是 WARN以上的级别 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹error/root.log文件中
    	配置所有类ERROR级别的滚动日志-->
    <appender name="rootRollingError" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/error/root.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/error/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- error/root.log文件中的日志级别是 ERROR以上的级别 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹sql/root.log文件中
    	配置所有类SQL的日志-->
    <appender name="rootRollingSql" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/sql/root.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/sql/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹business/root.log文件中
    	配置业务日志-->
    <appender name="businessRollingSql" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/business/root.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/business/root.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--
    	定义日志的输出方式:输出在文件夹business/rootsql.log文件中
    	配置业务和SQL日志-->
    <appender name="businessSqlRollingSql" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/business/rootsql.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/business/rootsql.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

	<!-- 
		定义输出日志的级别.DEBUG级别.其中那些内容输出的是DEBUG级别呢?
		all/root.log,   info/root.log,   warn/root.log,   error/root.log
		
		默认的日志主线程<root>
	 -->
    <root level="DEBUG">
        <appender-ref ref="rootRollingAll"/>
        <appender-ref ref="rootRollingInfo"/>
        <appender-ref ref="rootRollingWarn"/>
        <appender-ref ref="rootRollingError"/>
    </root>

	<!-- 
		除了使用默认的日志主线程<root>外,还可以通过<logger>标签定制其他日志线程如:
		其中name指定线程针对的包路径,level是日志级别,<appender-ref>定义使用那种appender。
	 -->

    <!--log4jdbc   begin -->
    
    <!-- 
    	jdbc.sqlonly不显示sql执行的时间
    	jdbc.sqltiming显示sql执行的时间{executed in 2 msec} 
    -->
    <logger name="jdbc.sqlonly" level="DEBUG">
        <appender-ref ref="rootConsole"/>
        <appender-ref ref="rootRollingSql"/>
        <appender-ref ref="businessSqlRollingSql"/>
    </logger>
    
    
    <logger name="jdbc.sqltiming" level="DEBUG">
        <appender-ref ref="rootConsole"/>
        <appender-ref ref="rootRollingSql"/>
        <appender-ref ref="businessSqlRollingSql"/>
    </logger>
    
    <!--log4jdbc   end -->
    
	<!-- 打印com文件夹下的日志到以下几个地方  -->
    <logger name="com" level="DEBUG">
        <appender-ref ref="rootConsole"/>
        <appender-ref ref="businessRollingSql"/>
        <appender-ref ref="businessSqlRollingSql"/>
    </logger>
<!-- 
    <logger name="com.baihui" level="ERROR">
        <appender-ref ref="rootConsole"/>
    </logger>
 -->
</configuration>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: