Koala业务日志系统介绍

1介绍

客户需求:记录用户在什么时候什么地方登录系统,做了什么事情。

(例:张三在总公司下创建广州分公司)

开发人员编码实现:

创建公司方法

public Organization createCompany(CompanyDto dto){

    // 执行业务方法

    companyDAO.save(dto);

    // 记录日志

LogDAO.save(new BusinessLog(userDAO.getSubjectName() + ",创建:"

+ dto.getCompanyName()));

}

 

这样写看起来没什么问题,但其中有一个最大的问题:业务逻辑和日志代码混在一起

如果业务逻辑和日志代码足够复杂的时候,你可以想象得到你的代码就如同意大利面条,以后维护的时候就会变成人间地狱。

每个方法必须职责单一,不应该把日志代码混入业务逻辑中。

Koala业务日志系统就是为解决此问题而设计:业务逻辑和日志代码分离!

 

目标:

1. 日志记录对业务方法尽量无侵入

2.尽最大可能不影响业务方法性能(异步实现)

3.日志模板配置简单(基于groovy)

4.日志持久化方式灵活(面向接口设计,可扩展文件、NoSQL存储)

5. 开发调试效率高(支持热部署)

6.直观快速查看(提供Web查询页面)

事实上,要达到真正的无侵入是目前版本没有实现的,Koala业务日志系统对业务方法的侵入是要在业务方法上加一个注解。


缺陷:

1.依赖Spring 的AOP

2. 只有受Spring IOC容器托管的bean才能记录


 

转载于:https://my.oschina.net/xiaokaceng/blog/333018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值