Demo项目代码:
https://gitee.com/AnAnXiEr/activiti6-demo
1、日志组件的关系以及MDC的设置方式
2、配置历史记录基本(HistoryLevel)
3、配置基于db的事件日志(Event logging)
日志组件
日志门面:直接在程序里使用的,直接依赖使用的
slf4j、commons-loggin、Log4j
日志实现:log4j既是门面也是实现,slf4j和commons-logging是不能直接打印日志的。需要依赖日志实现来打印日志。
Logback、Log4j、Log4j2、Java util loggin
Logback默认实现了slf4j,logback某方面比老的Log4j性能达10倍以上
现在新项目基本都是以slf4j+Logback来实现(logback默认实现了对slf4j进行桥接)
桥接方式:门面和实现的相互连接
slf4j-log4j12、sf4j-jdk14
改变依赖:软件内部依赖进行改变
jcl-over-slf4j

日志记录与MDC
配置开启MDC(Mapped Diagnostic Contexts)
- 默认没有开启、需要手工设置 LogMDC.setMDCEnable(true)
- 配置logback.xml 日志模板 %X{mdcProcessInstanceID}
- 流程只有在执行过程出现异常时才会记录MDC信息
配置流程历史记录级别
配置HistoryLevel
- none:不记录历史流程,性能高,流程结束后不可读取
- activiti:归档流程实例和活动实例,流程变量不同步
- audit:默认值,在activiti基础上同步变量值,保存表单属性
- full:性能较差,记录所有实例和变量细节变化
配置基于DB的事件日志
配置Event Logging
- 实验性的事件记录机制,性能影响较大
- 开启默认记录所有数据的的变化过程、表(event_log表)记录快速增长
- 日志内容Json格式,建议存入mongoDb、ElasticSearch
网友评论