说说log4cplus

《C++ primer 第五版》已经翻了一段时间了,每天早上的班车上看一个小时。书是好书,可惜很多知识还是停留在表面上。每天除了翻书,一是也找到不合适的方法进一步深入,晚上看到新闻联播的老主题---与国际接轨,得。学这C++咱也接轨一次吧。意外收获一次吧。

参与实际的项目开发是最理想的锻炼,可以一时也没这机会。分析国外大牛的开源项目无异也是学习锻炼的一种捷径。于是就有了下面log4cplus这个话题。

log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周 期; 你可以选择将信息输出到屏幕、文件、
NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。

一、选择的代码版本 log4cpp-1.0

最然不是最新的代码版本,但是用来深入学习C++足够了。正所谓麻雀虽小,五脏俱全!

二、文件目录组织

很多文件是在linux平台采用auto config生成的,这里暂时不关注他的编译细节。本着看代码,深入学习C++的原则看展活动。

有两个目录重点学习,一是src目录,另一个是tests目录。

三、src目录下的文件

各文件类型做个简单的说明:

1、Makefile开头的文件,是autoconf  自动编译生成的,这里不关注

2、C++代码均以.cpp文件作为源码,以.hh文件作为头文件,以区别C语言代码。

3、一个snprintf.c的 C语言代码;

以下会结合《C++  primer第五版》来理解C++.

时间: 2024-12-17 19:15:04

说说log4cplus的相关文章

log4cplus使用(三)-日志重定向

本文讲述的是log4cplus日志输出到qt widget,封装了serverSocket.     log4cplus支持用户自定义输出设备,只需要继承自Appender,或者Appender子类,并实现append成员方法,然后在 log4cplus初始化成功之后,把自定义输出设备添加到logger中,当用户向logger中输出信息时,logger会遍历自身的所有输出设备, 并按输出设备上的指定格式输出信息. log4cplus是线程安全的,因此在多线程下可以放心使用 在小工具编写的过程中,

log4cplus使用

框架说明: ?Log4cplus使用指南 C++日志库log4cplus:SocketAppender记录日志到log Server ?配置文件: log4cplus库(四)(优先级与日志配置) log4cplus配置文件使用 最近项目涉及到日志记录?功能,因此学习了写log4cplus框架,下载下来源码后研究了几天,上面几篇文章都是学习过程中觉着对我有帮助的. 下面记录下我最近学习log4cplus的一些知识和自己的想法?? 日志输出原则:? 1.在程序开始运行应该以INFO记录程序开始运行的

log4cplus使用(二)-自定义日志等级

log4cplus支持用户自定义日志等级,操作也比较简单,使用之前贴如下宏定义 #define LOG4CPLUS_MACRO_CREASH_LOG_LEVEL(pred) LOG4CPLUS_UNLIKELY(pred) namespace log4cplus {  const LogLevel CREASH_LOG_LEVEL = 55000; } #define LOG4CPLUS_CREASH(logger, logEvent) LOG4CPLUS_MACRO_BODY(logger,

【原】log4cplus使用说明

网上关于开源日志工具log4cplus的说明有很多,但大多略显复杂,本文主要从实用的角度,介绍一种最简单而且又实用的方法.本文的方法已经足够满足实际工程中的使用需求,而且不需要很复杂的流程,可以实现.log文件以及console窗口同时显示log信息.当然,想要深度定制,那就要去看看别的帖子了. step1:引入以下头文件以及命名空间: ? 1 2 3 4 5 6 #include <log4cplus/logger.h> #include <log4cplus/configurator

Log4Cplus的介绍

Log4Cplus是一款很好的开源日志打印程序,该日志打印程序的配置文件为类似INI的文件,以下为该日志打印程序配置文件中的说明: 1.#—注释行的开头表示,即以该字符开头的行,改日志程序不解释改行内容: 2.log4cplus—配置文件中有效的信息的开头: 3.log4cplus.logger—配置文件中定义日志文件的开头,例如:log4cplus.logger.logFile1=TRACE, ospAppender, consoleAppender, fileAppender1表示定义了一个

使用log4cplus写日志

首先是编译,安装log4cplus. 第二是对API进行封装,代码如下: log.h #ifndef _LOG_H_ #define _LOG_H_ #include <string> #define DEBUG(input) DEBUG_LOG((input), (__FILE__), (__LINE__)); #define ERROR(input) ERROR_LOG((input), (__FILE__), (__LINE__)); #define WARN(input) WARN_L

CentOS 6.2下log4cplus的使用

log4cplus是一款优秀的基于C/C++的开源日志库.log4cplus具有线程安全,不用但心在多线程状态下写日志问题:使用灵活,可通过配置文件设置日志级别下输出位置,还可以在程序运行时动态设置日志输出级别,随心所欲掌控日志的输出:以及多粒度控制的特点.通过将信息划分优先级使其可以面向程序调试.运行.测试.和维护等全生命周期: 可以选择将信息输出到屏幕.文件.NT event log.甚至是远程服务器:通过指定策略对日志进行定期备份.可以满足大部分开发者对日志系统需求,功能全面.下载地址:h

使用log4cplus时遇到的链接错误:无法解析的外部符号 &quot;public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string&lt;wchar_t,struct std::char_traits&lt;wchar_t&gt;,

#include "stdafx.h" #include <log4cplus/logger.h> #include <log4cplus/loggingmacros.h> #include <log4cplus/configurator.h> #include <log4cplus/fileappender.h> #include <log4cplus/win32debugappender.h> #include <l

log4cplus 直接创建logger 对象

#include <log4cplus/loggingmacros.h> #include <log4cplus/fileappender.h> #include <log4cplus/layout.h> #include <log4cplus/consoleappender.h> #include <log4cplus/logger.h> #include <log4cplus/configurator.h> using names