`
danier
  • 浏览: 32244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

  • 大小: 66.7 KB
分享到:
评论

相关推荐

    Poco 使用说明整理,带例程

    Poco 使用说明整理,带例程 Poco 是一个开源的 C++ 类库的集合,主要提供简单的、快速的网络和可移植应用程序的 C++ 开发。下面是 Poco 的一些重要知识点: 1. Poco 库的模块化、高效的设计及实现使得 Poco 特别...

    poco c++ linux 可编译使用

    在Linux环境下使用Poco,你需要经历几个关键步骤:解压、编译和安装。下面我们将详细探讨这些步骤以及相关的知识点。 首先,解压Poco库。当你下载了poco-1.9.0的压缩包后,通常是一个.tar.gz或.zip文件,你需要将其...

    POCO库及文档

    POCO库的设计理念是简单、高效且易于使用,它包含了许多现代软件开发所需的关键组件,如网络通信、XML解析、JSON处理、数据库接口、加密和时间处理等。 **1. POCO库的主要组件** POCO库由多个模块组成,每个模块都...

    轻量级C++网络库poco文档

    5. **日志与I/O流**:POCO的日志系统提供了灵活的配置选项,可以方便地定制日志级别和输出格式。I/O流库则支持文件、内存和网络流的读写操作,方便数据交换。 6. **线程与并发**:POCO的线程库提供了线程创建、同步...

    arm架构下的poco库文件

    在IT领域,Poco库是一个广泛使用的开源C++类库,它为开发跨平台的应用程序提供了许多基础组件。本文将详细探讨在ARM架构下使用Poco库,特别是针对Poco版本1.9.0,以及如何与MySQL、Redis和PostgreSQL数据库进行集成...

    Poco动态库(VS2013编译)

    Poco动态库是一款广泛使用的开源C++库,它包含了丰富的网络、数据访问、日志、加密、XML解析、JSON处理、线程管理等模块,适用于开发跨平台的应用程序。在这个特定的案例中,我们讨论的是Poco库在Visual Studio 2013...

    poco-1.3.6-all-doc poco库的文档

    Poco 1.3.6 版本的all-doc文档提供了该版本库的详尽参考资料,帮助开发者理解和使用Poco库的各种功能。 Poco库的核心优势在于它的模块化设计,使得开发者可以根据项目需求选择使用哪些部分,而不会引入不必要的依赖...

    C++POCO-lib(中文文档).pdf

    POCO 提供强大可扩展的日志框架,该框架支持过滤、路由到不同的通道以及格式化日志信息。日志消息可以写入 console、文件、Windows 事件日志、Unix 的 syslog 后台或网络中。 9. 共享库加载 对于在运行时装载(及...

    编译失败的Poco库

    Poco库是一个开源的C++库,包含了众多用于构建网络、数据库、日志、XML解析、JSON处理、加密和时间管理等任务的组件。在Windows环境下编译Poco库,通常是为了满足特定项目的需求,例如需要针对x64架构进行优化或者与...

    poco 使用说明.doc

    日志模块是Poco库的一个重要部分,它允许开发者通过各种通道(如`Poco::ConsoleChannel`)和格式化器(如`Poco::PatternFormatter`)来定制日志输出,确保日志信息既可读又易于分析。例如,你可以创建一个控制台日志...

    Poco:TCPServer框架

    Poco库是一个开源的C++类库集合,它提供了许多用于构建网络、数据库、日志、XML处理、JSON解析等应用的基础组件。Poco库的设计目标是轻量级、高效且易于使用,使得开发者能够快速构建跨平台的应用程序。在Poco库中,...

    poco-1.3.6 for windows

    Poco是一个开源的C++库,它为软件开发者提供了构建网络、数据库、日志记录、加密和其他基础系统服务所需的各种工具。"poco-1.3.6 for windows"是这个库的一个特定版本,专为Windows操作系统设计。下面将详细介绍Poco...

    poco-1.4.0-all-doc poco库的文档

    6. **测试与调试**:使用Poco的日志功能进行调试,确保程序的正确性。 四、Poco库的应用场景 1. **Web服务开发**:利用Poco的网络模块构建服务器或客户端应用。 2. **数据库应用**:通过Data模块简化数据库操作,...

    poco库发送邮件的几个实例

    在提供的压缩包文件`test1.cpp`、`test2.cpp`和`test3.cpp`中,很可能包含了上述步骤的具体实现,可能有不同的应用场景或特性,如使用不同的认证方式、处理多个附件或者处理更复杂的邮件格式等。通过查看和学习这些...

    windows下面编译好的64位POCO-1.9.0开发库

    通过这样的方式,你可以轻松地在Windows 64位环境下集成和使用POCO库,开发高效且功能丰富的应用程序。这个预编译的库版本经过验证可用,大大节省了你自己编译和配置库的时间,让你可以更专注于应用程序的核心业务...

    poco库学习

    Poco库,全称为Poco C++ Libraries,是一款开源的C++类库集合,旨在为开发者提供...提供的"Poco_doc"文档将是一个宝贵的资源,其中可能包含了详细的API说明、示例代码和使用教程,对于掌握Poco库的使用方法非常有帮助。

    poco-1.7.8-all

    在IT行业中,Poco库是一个备受推崇的开源C++类库,它提供了大量的实用工具和框架,广泛应用于网络、数据存取、XML处理、JSON解析、加密、日志记录等多个领域。本文将深入探讨Poco库1.7.8的全功能版本,特别关注其32...

    POCO C++(中文说明文档).rar

    提供的"POCO C++(中文说明文档).pdf"详细介绍了POCO C++类库的使用方法,包括各种组件的API、示例代码和最佳实践,对于初学者和有经验的开发者来说,都是宝贵的参考资料。 5. **Socket编程** 在POCO C++中,...

    poco-1.4.3p1-all

    Poco库的设计理念是提供模块化的、轻量级的、易于使用的组件,支持网络、数据存取、XML解析、JSON处理、加密、日志记录以及许多其他功能。在本文中,我们将深入探讨Poco库1.4.3p1版本的关键特性、用途及其实现。 一...

    poco-1.7.6.zip

    5. **日志记录**:日志系统是任何软件项目的关键部分,Poco库的日志模块提供了多种日志记录器和格式化器,可以根据需要定制日志级别、输出目的地和格式。 6. **线程管理**:Poco库的Foundation模块提供了线程和多...

Global site tag (gtag.js) - Google Analytics