Log系统设计模式解决方案PPT格式课件下载.ppt
《Log系统设计模式解决方案PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《Log系统设计模式解决方案PPT格式课件下载.ppt(25页珍藏版)》请在冰豆网上搜索。
过滤器的扩展logging.properties:
配置扩展的信息,作业,增加一直UDP方式的Log输出增加一种新的消息格式化,问题1:
请回答该设计之中使用了那些设计模式?
你认为使用了那些设计模式?
指出地方?
问题2:
请认为该设计那些地方还存在坏症状和如何改进?
请你上台PK?
管道和过滤器,管道和过滤器(PipesandFilters)体系结构模式为处理数据流的系统提供了一种结构。
每个处理步骤封装在一个过滤器组件中。
数据通过相邻过滤器之间的管道传输。
重组过滤器可以建立不同的系统功能。
非软件应用,Pipe/FilterPattern,PatternName:
Pipe/Filter,Component:
Filter-DataHandlingConnector:
Pipe-DataTranslationandTransportation,Framework框架的实践,Log,LogManager,logging.properties,Handler,Formatter,Filter,Handler,Formatter,Filter,Handler,Formatter,XXFilter,XXHandler,Observer模式or责任链?
问题3:
通过该案例的重构,对比最初的设计,你学习到那些?
通过该案例的重构学习,你学习到了那些东西,有哪些收获或者感想?
参考技术,参考其他著名框架,Log4JJavaLogAPI,JavaLogging,Handler,ConsoleHandler:
输出日志到控制台中FileHandler:
输出日志到指定文件中MemoryHandler:
输出日志到内存缓冲区中,当一定的条件满足的时候(如某种关键字的日志信息)再将缓冲区中的日志输出SocketHandler:
输出日志到网络socket中StreamHandler:
输出日志到输入输出流对象中,Formatter,日志可以被格式化为一定格式的文本,也可以成为XML或者HTML这样标准的格式。
这取决于Formatter类的具体实现SimpleFormatterXMLFormatter,java.util.logging.Level,JDK日志框架默认提供了SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST这几种日志级别。
如果我们需要定义更多的日志级别,只需要继承java.util.logging.Level类,然后将自定义的级别作为静态成员变量声明即可。
症状,Level创建对象的过程不易扩展,重构之道,MoveCreationKnowledgetoFactoryReplaceTypeCodewithClass(PipesandFilters)管道和过滤器推迟实现-使用配置文件形成Framework,可以后期灵活的扩展,