在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
需求一个通用的日志包,应该满足以下几个需求: 兼容 自定义配置,不同的运行环境,往往需要不同的日志输出配置,在不重新编译源码的情况下,就能改变配置也应该成为一项标配; 不同的输出类型,根据目前市面上大部分的日志库,我们把日志分为以下六种类型: 对日志内容的自定义处理,比如将日志按时间段进行切割,或是重要内容发邮箱进行提醒等。 配置文件根据以上的需求,我们可以拟定一个以下格式的 XML 配置文件:
顶级元素固定为 二级元素为 二级以下的元素,统一初始化为 这样就达到了一个自由度相对比较高的配置文件。 接口设计根据以上要求,我们大致上可以确定下来接口的内容。 一个从配置文件进行初始化的接口:
以及各个输出类型的操作函数,最主要的就是获取
我们还需要公开一个注册接口,用于注册用户自定义的元素:
使用只要在 main() 中正确定加载了配置文件,之后随处都可以调用:
实现完整的实现代码在:https://github.com/issue9/logs。 |
请发表评论