Commit 018f0431 by qiuweili123

adjust logger starter

parent 2f14cb69
......@@ -37,7 +37,6 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<springProperty scope="context" name="logLevel" source="log.level" defaultValue="info"/>
<springProperty scope="context" name="logName" source="spring.application.name" defaultValue="app"/>
<springProperty scope="context" name="logPath" source="log.path" defaultValue="/data/logs"/>
<springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
<property name="LOG_DIR" value="${logPath}/${logName}/%d{yyyyMMdd}"/>
<property name="MAX_FILE_SIZE" value="128MB"/>
<property name="MAX_HISTORY" value="7"/>
<property name="PATTERN"
value="-|%d{yyyy-MM-dd HH:mm:ss.SSS}|%-5level|%X{traceId}|%thread|%logger{36}.%M:%L-%msg%n"/>
<property name="CHARSET" value="UTF-8"/>
<jmxConfigurator/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender"></appender>
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level> <!-- 只记录error级别的日志 -->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!-- 定义文件的名称 -->
<file>${logPath}/${logName}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_DIR}/err_${logName}%i.log</FileNamePattern>
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>${PATTERN}</Pattern>
</layout>
</appender>
<appender name="APP" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 定义文件的名称 -->
<file>${logPath}/${logName}/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_DIR}/all_${logName}%i.log</FileNamePattern>
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<appender name="ASYN_APP" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="APP"/>
<queueSize>1024</queueSize>
<neverBlock>true</neverBlock>
</appender>
<appender name="ASYN_ERROR" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ERROR"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
</appender>
<logger name="app" level="${logLevel}">
<appender-ref ref="ASYN_APP"/>
</logger>
<logger name="error" level="${logLevel}">
<appender-ref ref="ASYN_ERROR"/>
</logger>
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<root level="${logLevel}">
<appender-ref ref="${STDOUT}"/>
<appender-ref ref="ASYN_APP"/>
<appender-ref ref="ASYN_ERROR"/>
</root>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<!-- <property name="LOG_HOME" value="./log" /> -->
<!--取得spring boot中的变量值有2种方式,一种是resource,另外一种是使用springProperty,使用springProperty好处能指定默认值-->
<!-- <property resource="application.properties"/>
-->
<springProperty scope="context" name="logLevel" source="log.level" defaultValue="info"/>
<springProperty scope="context" name="logName" source="spring.application.name" defaultValue="app"/>
<springProperty scope="context" name="logPath" source="logging.path" defaultValue="/data/logs"/>
<springProperty scope="context" name="immediateFlush" source="log.immediateFlush" defaultValue="true"/>
<springProfile name="test,dev,local">
<springProperty scope="context" name="logPath" source="logging.path" defaultValue="./logs"/>
</springProfile>
<property name="PATTERN"
value="-|%d{yyyy-MM-dd HH:mm:ss.SSS}|%-5level|%X{traceId}|%thread|%logger{36}.%M:%L-%msg%n"/>
<property name="CHARSET" value="UTF-8"/>
<jmxConfigurator/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%msgno|%thread|%-5level|%logger{20}-%msg%n</pattern> -->
<pattern>${PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<immediateFlush>false</immediateFlush>
</appender>
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level> <!-- 只记录error级别的日志 -->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!-- 定义文件的名称 -->
<file>${logPath}/${logName}/error.log
</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily -->
<!-- 设置达到指定大小限制后输出的日志名称 -->
<fileNamePattern>${logPath}/${logName}/error-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="APP" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 定义文件的名称 -->
<file>${logPath}/${logName}/app.log
</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<!-- 设置达到指定大小限制后输出的日志名称 -->
<fileNamePattern>${logPath}/${logName}/app-%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<immediateFlush>${immediateFlush}</immediateFlush>
</appender>
<appender name="ASYN_APP" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="APP"/>
<queueSize>1024</queueSize>
<neverBlock>true</neverBlock>
<!--防止问号出现-->
<includeCallerData>true</includeCallerData>
</appender>
<appender name="ASYN_ERROR" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ERROR"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
<includeCallerData>true</includeCallerData>
</appender>
<!-- <appender name="ASYN_EMAIL" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="EMAIL"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
</appender>-->
<appender name="ASYN_STDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
<includeCallerData>true</includeCallerData>
</appender>
<logger name="app" level="${logLevel}">
<appender-ref ref="ASYN_APP"/>
</logger>
<logger name="error" level="${logLevel}">
<appender-ref ref="ASYN_ERROR"/>
</logger>
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<root level="${logLevel}">
<!-- <appender-ref ref="ASYN_EMAIL"/>-->
<springProfile name="test,dev,local">
<appender-ref ref="ASYN_STDOUT"/>
</springProfile>
<appender-ref ref="ASYN_APP"/>
<appender-ref ref="ASYN_ERROR"/>
</root>
</configuration>
\ No newline at end of file
......@@ -6,11 +6,24 @@
<springProperty scope="context" name="LOG_PATH" source="log.path" defaultValue="/data/logs"/>
<springProperty scope="context" name="MAX_FILE_SIZE" source="log.max_file_size" defaultValue="128MB"/>
<springProperty scope="context" name="MAX_HISTORY" source="log.max_history" defaultValue="7"/>
<springProperty scope="context" name="PATTERN" source="log.pattern" defaultValue="-|%d{yyyy-MM-dd HH:mm:ss.SSS}|%-5level|%X{tid}|%thread|%logger{36}.%M:%L-%msg%n"/>
<springProperty scope="context" name="PATTERN" source="log.pattern"
defaultValue="-|%d{yyyy-MM-dd HH:mm:ss.SSS}|%-5level|%X{tid}|%thread|%logger{36}.%M:%L-%msg%n"/>
<property name="LOG_DIR" value="${LOG_PATH}/${logName}/%d{yyyyMMdd}"/>
<property name="CHARSET" value="UTF-8"/>
<jmxConfigurator/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%msgno|%thread|%-5level|%logger{20}-%msg%n</pattern> -->
<pattern>${PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
......@@ -47,6 +60,13 @@
</layout>
</appender>
<appender name="ASYN_STDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
<includeCallerData>true</includeCallerData>
</appender>
<appender name="ASYN_APP" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="APP"/>
<queueSize>1024</queueSize>
......@@ -73,6 +93,10 @@
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<root level="${logLevel}">
<springProfile name="test,dev,local">
<appender-ref ref="ASYN_STDOUT"/>
</springProfile>
<appender-ref ref="ASYN_APP"/>
<appender-ref ref="ASYN_ERROR"/>
</root>
......
......@@ -156,6 +156,11 @@
<artifactId>openfeign-starter</artifactId>
<version>1.0.4-DEV-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.secoo.mall</groupId>
<artifactId>logger-starter</artifactId>
<version>1.0.4-DEV-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment