架构漫谈:自己开发一个Log框架

前言

  在日常开发中我们常常都会用到写日志的功能,现在网上的写Log的框架有很多,但是对于我个人而言,过于庞大:我们往往只为了使用框架中的某一个功能就不得不引用整个框架。 所以,我们今天就来自己动手开发一个自己的Log框架。

活动图

  我们在项目中一般都会把日志存到文件、系统日志、数据库这个三个地方。所以,作为一个Log框架我们需要在框架内预实现这三种存储方式。但有些时候,我们这三个方式并不能完全满足我们的需求,所以我们需要对外暴露出一个接口,并且可让用户实现并加载到我们框架中使用。如下图:

  

  上图在是否被调用那块画的有点问题,应该是分支而不是并行。这个稍后改正。

大体结构图

  

  在上图中类中的属性和方法我没有详细的写出来,因为我是想留给大家想象的空间并且。关于框架功能我会在下一章中实现。

  同时也希望大家能够提出意见一起讨论。

  这个Log框架目前还缺一处扩展,这里我就不说出来了。希望大家在看上图后能可以留言一起讨论。(请不要喷图丑。。。。。。。)

时间: 2024-10-09 21:43:32

架构漫谈:自己开发一个Log框架的相关文章

如何开发一个java开源框架-----Jvn框架之实现自动生成在线文档(第七讲)

一 . 前言:博主正在教大家如何开发一个javaEE框架,我把框架命名为Jvn,博客里有完整的开发视频,每一篇博文都是一个知识点: 关于框架的介绍和学习,可以从我博客第一讲开始看起,博客首页:http://www.cnblogs.com/everxs/ 本次内容视频以及源码下载地址:http://pan.baidu.com/s/1o6MJnFc 二. 本次博客讲的内容 场景:现在是APP时代,APP很热门,而且跟后台交互跑的都是HTTP协议,所以讲到这里,对于这里面的交互. 安卓工程师(客户端)

如何开发一个java开源框架-----Jvn框架之实现文件的上传以及方法封装(第六讲)八哥实力讲解

前言 一 . 博主正在教大家如何开发一个javaEE框架(Jvn框架),博客里有完整的开发视频,每一篇博文都是一个知识点,帮助大家理解框架: 博客首页:http://www.cnblogs.com/everxs/ 本次内容视频以及源码下载地址:http://pan.baidu.com/s/1pJsoGDd 1,为什么要使用java的框架,以及框架能带来什么好处.  2,帮助你们理解框架的原理. 3,框架是如何实现的.                                        

iOS开发之组件化架构漫谈

前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是要根据公司具体的业务需求设计架构. 在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,例如蘑菇街李忠.casatwy.bang的博客.在学习过程中也遇到一些问题,在微博和QQ上和一些做iOS的朋友进行了交流,非常感谢这些朋友的帮助. 本篇文章主要针对于之前蘑菇街提出的组件化方案,以及cas

(0)使用thinkphp框架和dwz开发一个简单的文章管理系统

人都是很懒的,往往很多东西只有自己亲身去实践,我们才会真正的掌握她.之前学习了国内用的人比较多的thinkphp框架,但是基本都是理论知识的学习,很少进行实践,因为我之前是偏向于web前端的.最近又看到一个国人开发的dwz框架,好像又叫jui,是一款基于jQuery实现的Ajax RIA开源框架,方便开发人员快速搭建一个系统后台,她毕竟是国人开发的,因此她并没有easyui那么复杂.我写这个简单教程的目的主要是想简单学会使用dwz和thinkphp3.2.3的结合,编程其实是一件美妙的事情...

开发一个事件驱动的php框架 eventbindframe

想开发框架的想法由来已久,受到mvc和事件绑定的启发,决定尝试开发一个简单,方便,好用的框架,由于对php比较熟悉,就想到了用php进行开发 开发的核心思想就是有一个全程仅引用一个core.php文件,自动生成MVC的构架代码,配置好数据库就能运行: 现在源码正在逐步完善过程中,以后与大家分享:

webmagic的是一个无须配置、便于二次开发的爬虫框架

webmagic的是一个无须配置.便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫. 以下是爬取oschina博客的一段代码: ? 1 2 Spider.create(new SimplePageProcessor("http://my.oschina.net/", "http://my.oschina.net/*/blog/*")).thread(5).run(); webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接

推荐一个国外C开发的PHP框架--Phalcon,性能相当好

本人亲自配置测试后.性能相当不错.不过有一点.使用极不符合国人习惯,甚至和大多数主流PHP框架如Zend Framework,Yii,Ci,Thinkphp都不一样. Phalcon 是一个开源的,全堆栈的,用C语言写成的php5框架,专为高性能设计.你不需要学习和使用C语言的功能,因为这是一个PHP框架,只不过用C写成而已.同时Phalcon是松耦合的,您可以根据需要使用其他组件. Phalcon不只是性能优越,我们的目标是让它强大而且易于使用! 从介绍上可以总结出几个特点: 1.开源 可以下

如何在cocos2d-x中使用ECS(实体-组件-系统)架构方法开发一个游戏?

引言 在我的博客中,我曾经翻译了几篇关于ECS的文章.这些文章都是来自于Game Development网站.如果你对这个架构方式还不是很了解的话,欢迎阅读理解 组件-实体-系统和实现 组件-实体-系统. 我发现这个架构方式,是在浏览GameDev上的文章的时候了解到的.很久以前,就知道了有这么个架构方法,只是一直没有机会自己实践下.这一次,我就抽空,根据网上对ECS系统的讨论,采用了一种实现方法,来实现一个. 我很喜欢做游戏,所以同样的,还是用游戏实例来实践这个架构方法.我将会采用cocos2

jQuery框架开发一个最简单的幻灯效果

在线演示 在这个课程中,我们将介绍如何使用jQuery来开发一个最简单的图片幻灯效果. 立刻观看互动课程:jQuery框架开发一个最简单的幻灯效果 阅读原文:jQuery框架开发一个最简单的幻灯效果 jQuery框架开发一个最简单的幻灯效果