欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

疯子在思考之-从日志想到的软件架构

程序员文章站 2022-03-05 10:47:17
...
谈到架构是一个很泛的话题

这里我们讨论一下兼容性与扩展性

我们为什么用接口?这是很多java程序员都会问过的问题
我的答案是为了扩展和兼容

最近的框架中想加入日志功能,想自己写一个简单的日志操作类
其实我们最常用的应该是log4j
但jcp标准是java.util.logger 这两个东西完全不兼容,网上有很多说明了原因。有兴趣的同学可以去网上查一查。

其实日志随便用什么框架或者自己写都是可以的,为什么还要如此纠结呢?
这里我纠结的不是功能实现,而是其中的思想。
我怎么才能做一个可扩展的日志框架?

jcp的标准并不是实际上的标准,就象osi和tcp/ip一样,理论上的与工业上实际标准并不一样。
社区的log4j已经很多年了,而java官方并没有去兼容。

最近发现
log4j 的作者 Ceki Gülcü 出来了一标准SLF4J并做了一个实现框架logback.
这个框架应该也很久了,可惜我最近在工作中才发现。
这里领悟到一个思想,当官方标准不被承认,很多框架百花齐放的时侯,我们为了扩展,其实可以定义一个自己的标准,通过实现对需要用到的框架做兼容。

这样就会避免直接引用某一个框架的对象(这里比如说是log4j),当对这个框架进行替换时需要修改所有的引用,可能是成千上万的。

随便推荐一下,我的框架的实践性项目上线了
http://www.zhuaququ.com
相关标签: log4j