spingboot開發logback.xml通用配置(無需改動,支持SQL文和異常系打印,放到src/main/resouces既可使用)

需要輸出指定內容,請參見。

https://blog.csdn.net/thankna/article/details/106190036

spingboot開發用常規logback.xml配置(無需改動,放到src/main/resouces既可使用)

pom.xml加入

	<dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>6.2</version>
    </dependency>

logback.xml (無需改動,放到src/main/resouces既可使用)

log輸出在工程所在盤(假設工程在e:\workspaces\iij,log在e:\IIJ\log\web下)

<configuration>

    <property name="LOG_HOME" value="/IIJ/log/web" />
    <property name="HISTORY_HOME" value="/IIJ/log/web" />
    <property name="ROOT_LEVEL" value="DEBUG" />
    <property name="SYS_NAME" value="iij" />

    <appender name="STDOUT1" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] [%X{client}] [%X{sessionId}] [%X{userId}] [%X{userAgent}] [%X{url}] %msg%n</Pattern>
        </layout>
    </appender>
    
    <appender name="STDOUT2" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] [%X{client}] [%X{sessionId}] [%X{userId}] [%X{userAgent}] [%X{url}] %msg%n</Pattern>
        </layout>
    </appender>

    <appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <file>${LOG_HOME}/${SYS_NAME}_access.log</file>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
	        <fileNamePattern>${HISTORY_HOME}/${SYS_NAME}_access.%d{yyyy-MM-dd_HH}.%i.log.gz</fileNamePattern>
	        <maxFileSize>500MB</maxFileSize>    
	        <maxHistory>168</maxHistory>
	        <!-- <totalSizeCap>10GB</totalSizeCap> -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] [%X{client}] [%X{sessionId}] [%X{userId}] [%X{userAgent}] [%X{url}] %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="APP" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <file>${LOG_HOME}/${SYS_NAME}_app.log</file>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
	        <fileNamePattern>${HISTORY_HOME}/${SYS_NAME}_app.%d{yyyy-MM-dd_HH}.%i.log.gz</fileNamePattern>
	        <maxFileSize>500MB</maxFileSize>    
	        <maxHistory>168</maxHistory>
	        <!-- <totalSizeCap>10GB</totalSizeCap> -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] [%X{client}] [%X{sessionId}] [%X{userId}] %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <file>${LOG_HOME}/${SYS_NAME}_error.log</file>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<fileNamePattern>${HISTORY_HOME}/${SYS_NAME}_error.%d{yyyy-MM-dd_HH}.%i.log.gz</fileNamePattern>
			<maxFileSize>500MB</maxFileSize>    
	        <maxHistory>168</maxHistory>
	        <!-- <totalSizeCap>10GB</totalSizeCap> -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] [%X{client}] [%X{sessionId}] %msg%n</pattern>
        </encoder>
    </appender>
    
    <appender name="SQL_TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <append>true</append>
        <file>${LOG_HOME}/${SYS_NAME}_sql.log</file>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
	        <fileNamePattern>${HISTORY_HOME}/${SYS_NAME}_sql.%d{yyyy-MM-dd_HH}.%i.log.gz</fileNamePattern>
	        <maxFileSize>500MB</maxFileSize>    
	        <maxHistory>168</maxHistory>
	        <!-- <totalSizeCap>10GB</totalSizeCap> -->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%t] %msg%n</pattern>
        </encoder>
    </appender>
    
    <logger name="jit.wxs.demo.config.LoggingAdvicePageAccess" additivity="false">
        <appender-ref ref="ACCESS"/>
        <!-- <appender-ref ref="STDOUT1" /> -->
	</logger>
	<logger name="jit.wxs.demo.config.LoggingAdvicePageApp" additivity="false">
        <appender-ref ref="APP"/>
        <appender-ref ref="ERROR"/>
        <!-- <appender-ref ref="STDOUT1" /> -->
	</logger>
	
	<!-- MapperのあるパッケージをDEBUGレベルに -->
    <logger name="jit.wxs.demo.mapper" additivity="false">
        <appender-ref ref="SQL_TRACE" />
        <!-- <appender-ref ref="STDOUT2" /> -->
    </logger>

	<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="false">
	    <appender-ref ref="SQL_TRACE" />
	</logger>
	<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" additivity="false">
	    <appender-ref ref="SQL_TRACE" />
	</logger>
	 <logger name="org.hibernate.SQL" level="DEBUG" additivity="false" >
	    <appender-ref ref="SQL_TRACE" />
	</logger>
 	<logger name="org.hibernate.type" level="DEBUG">
 		<appender-ref ref="SQL_TRACE" />
 	</logger>
	<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" additivity="false">
		<appender-ref ref="SQL_TRACE" />
	</logger>
	<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" additivity="false">
		<appender-ref ref="SQL_TRACE" />
	</logger>

    <root level="${ROOT_LEVEL}">
        <!-- <appender-ref ref="STDOUT1" /> -->
        <appender-ref ref="APP"/>
        <appender-ref ref="ERROR"/>
    </root>
</configuration>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章