1,maven依赖
maven version由2.5.3调整为2.5.3.2
<dependency> <groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3.2</version>
</dependency><dependency> <groupId>com.edianzu.qos.logback</groupId>
<artifactId>logstash-driver</artifactId>
<version></version>##与项目中logback版本一致,目前该插件涵盖了logback从0.2x版本到到1.2的所有稳定版本。
</dependency> |
2,开启dubbo访问日志
<!-- 开启 dubbo 访问日志 --><dubbo:protocol accesslog="true" />
<!-- 指定 dubbo 适配 slf4j --><dubbo:application logger="slf4j" />
|
3,在logback.xml中配置
<logger name="dubbo.accesslog" level="info" additivity="false">
<appender-ref ref="accesslogAppender"/>
</logger> |
4,配置 log4j2 Appender
4.1,定义日志pattern
<conversionRule conversionWord="ex" converterClass="com.edianzu.qos.logback.StackTraceConverter" />
<conversionRule conversionWord="tpc" converterClass="ch.qos.logback.classic.pattern.ThrowableProxyConverter" />
<property name="pattern" value="[%d{yyyy-MM-dd}T%d{HH:mm:ss.SSS+0800}] [%p] [%file:%line] [%ex] %tpc %m %n" />
|
4.2,配置
<property name="logPath" value="/data/logs/【项目名】"/>
<appender name="accesslogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logPath}/access/access.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${logPath}/access/%d{yyyyMMdd}/access-%d{yyyyMMdd}%i.log.zip
</FileNamePattern>
<MaxHistory>${maxHistory}</MaxHistory>
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>${maxFileSize}</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>【自定义删除过期数据,供参考】
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${pattern}</pattern>
</layout>
</appender> |