文档章节

Koala业务日志系统设计说明

小咔蹭
 小咔蹭
发布于 2014/10/19 01:16
字数 426
阅读 1937
收藏 7

源代码:http://git.oschina.net/openkoala/koala

koala-business子模块


模块划分

模块名

作用

koala-businesslog-api 

业务日志系统的核心api

koala-businesslog-impl       

业务日志系统的koala的默认实现

koala-businesslog-web  

 业务日志系统web模块

koala-businesslog-acceptance-test

业务日志系统的集成测试,也是业务日志系统的 **范例**,实际使用时,可以参考此模块

 

时序图

 

 

类图

koala-businesslog-api模块

 

 

koala-business-impl模块

 

 

词汇表

类名

说明

BusinessLogServletFilter

实现filter接口,抽象父类,定义抽象方法beforeFilter

LogFilter

继承beforeFilter,实现beforeFilter方法,设置用户名、IP

AbstractBusinessLog

自定义业务日志抽象父类,包含logcategory字段

DefaultBusinessLog

系统默认业务日志实体类,包含用户名、IP、时间

BusinessLogExporter

业务日志导出接口

BusinessLogExporterImpl

系统默认业务日志导出实现类,保存到数据库

ThreadLocalBusinessLogContext

线程本地变量上下文,实现数据在线程内共享

BusinessLogInterceptor

AOP拦截器

BusinessLogThread

业务日志线程执行类

GroovyObjectClassCache

Groovy对象缓存类

ConfigConstant

系统配置常量类

  

groovy考量

使用groovy语言来实现日志模板的记录而不是XML,考量的因素如下:

1. 它支持动态修改,而无须重启服务

2. 使用groovy并不会带来太大的学习成本,以写java代码的方式来写就可以了

3. 这种方式可以获取关联查询,如方法中deptId,但日志中我想拿的是deptName(如:架构部),那使用groovy,你可以轻松使用编写java代码来实现

4. 它有语法检验,使用XML配置,要做到这一点有难度


© 著作权归作者所有

小咔蹭

小咔蹭

粉丝 45
博文 32
码字总数 17138
作品 0
广州
程序员
私信 提问
项目集成koala业务日志子系统

Koala平台的业务日志子系统是基于Maven的项目模块,最方便的集成是项目也使用Maven,war项目集成请自行下载jar包 前提 依赖spring 添加仓库 <repositories><repository><id>koala-releases</......

小咔蹭
2014/07/13
1K
0
Koala业务日志系统手动集成

4 手动集成 1. 添加依赖 application层添加业务日志接口模块依赖 <dependency> <groupId>org.openkoala.businesslog</groupId> <artifactId>koala-businesslog-api</artifactId> <version>4.......

小咔蹭
2014/10/20
627
0
Koala业务日志系统使用教程

2 使用教程 前提 成功创建Koala Project,并且勾选集成业务日志子系统。 步骤 1. 业务方法标注@MethodAlias 格式: @MethodAlias("业务方法别名") 业务方法 示例: @MethodAlias("savePerson...

小咔蹭
2014/10/16
1K
3
Koala 3.1.1 发布,功能优化BUG修复

Koala 3.1.1 发布,此版本主要已功能优化、BUG修复为主。 功能优化 i18n组件在jboss下读取资源文件修复 KoalaUI Grid组件添加、删除行,使用json数据刷新表格 业务日志子系统缓存编译类,提升...

Koala_考拉
2014/07/01
1K
4
koala的日志处理模块捕捉不到用户和IP。

试用了koala的业务日志功能,配置好之后是可以捕捉到方法的行为,但是context里没有用户和ip的信息。跟了一下LogFilter过滤器,发现没能捕捉到用户和ip信息。 请问如何破。...

htinside
2014/05/28
113
3

没有更多内容

加载失败,请刷新页面

加载更多

规则引擎

解决问题 版本迭代速度更不上业务变化,但是若多个业务同时变化,除了为每个业务设计专属配置项也不利于操作。就想服务接口单纯化,将复杂多变的业务逻辑交给规则引擎,让用户在web端或cs端自...

无极之岚
41分钟前
7
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
今天
422
10
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
10
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部