POCO 日志使用方式

POCO是POrtable COmponent的缩写,直接翻译成中文叫做可移植组件,是一个以网络为中心的开发框架。在精简版开发包中,仅包含4个基本模块:

 

  1. Foundation
  2. Util
  3. Net
  4. XML

 

Logger是Foundation模块中很重要的一个模块。在使用Logger之前,先看一下附件中Logger的结构。从结构可以看出,Logger是从Channel继承而来,并且其构造函数属性还是私有。也就是说我们不能通过 new 方法创建Logger对象。

从Channel继承的类有:ConsoleChannel, EventLogChannel, FileChannel, FormattingChannel, Logger, NullChannel, OpcomChannel, SimpleFileChannel, SplitterChannel, StreamChannel, SyslogChannel, WindowsConsoleChannel。

这么多Channel,在程序中记日志该用哪个类?看每一个Channel的说明,在FormattingChannel中可以看到:The FormattingChannel is a filter channel that routes a Message through a Formatter before passing it on to the destination channel. 也就是说FormattingChannel是一个过滤通道,它通过一个消息格式器发送消息到目标通道。从这句话可以知道,在POCO中记录日志的方法是先创建一个消息格式器(Formatter),创建一个使用格式器的FormattingChannel,最后为该FormattingChannel设置目标通道。

从方法名可以看出,只有Logger类有log方法,因此还需要用刚才创建的FormattingChannel创建一个Logger。至此大功告成,可以简单的调用log方法记录日志了。

开发人员可以方便的修改日志格式,也可以方便的将日志内容记录到文件,屏幕或者系统日志。

具体的例子可以参看Foundation/samples/Logger/src/Logger.cpp

你可能感兴趣的:(框架,.net,xml)