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>
|