网上关于开源日志工具log4cplus的说明有很多,但大多略显复杂,本文主要从实用的角度,介绍一种最简单而且又实用的方法。本文的方法已经足够满足实际工程中的使用需求,而且不需要很复杂的流程,可以实现.log文件以及console窗口同时显示log信息。当然,想要深度定制,那就要去看看别的帖子了。

step1:引入以下头文件以及命名空间:

#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <log4cplus/helpers/loglog.h>
#include <log4cplus/helpers/stringhelper.h>
using namespace log4cplus;
using namespace log4cplus::helpers;

step2:实例化logger对象

Logger logger = Logger::getInstance(LOG4CPLUS_TEXT("test"));

step3:在你的.vcproj文件或者.cpp文件的同目录上新建一个文档,将以下代码拷贝进该文件。之后将该文件名改为"log4cplus.properties"保存


step4:加载logger配置文件对logger进行配置:

PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log4cplus.properties"));

step5:以上4个步骤就算大功告成。现在就可以使用了

LOG4CPLUS_DEBUG(logger, str.c_str() << ii);
sleep(1);
LOG4CPLUS_WARN(logger, "warning!");

【原】log4cplus使用说明的更多相关文章

  1. ROS机器人程序设计(原书第2版)学习镜像分享及使用说明

    ROS机器人程序设计(原书第2版)学习镜像分享及使用说明 系统用于ROS爱好者学习交流,也可用于其他用途,并不局限于ROS. 这款镜像文件是基于一年前的Ubuntu ROS Arduino Gazeb ...

  2. iOS 10 UserNotifications 使用说明

    本教程以贴代码为主.尽可能直观,少量说明. 注意:XCode8的需要手动开启主target Capabilities中的Push Notification. 关于创建多个target后真机测试的证书问 ...

  3. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  4. vim 使用说明

    =========================================================本使用说明与 把VIM打造成IDE 配套======================= ...

  5. (转)jQuery Mobile 移动开发中的日期插件Mobiscroll 2.3 使用说明

    (原)http://www.cnblogs.com/hxling/archive/2012/12/12/2814207.html jQuery Mobile 移动开发中的日期插件Mobiscroll ...

  6. 【转】iOS 10 UserNotifications 使用说明

    注意:XCode8的需要手动开启主target Capabilities中的Push Notification. 关于创建多个target后真机测试的证书问题,除了主target手动创建开发和发布证书 ...

  7. Elasticsearch .Net Client NEST使用说明 2.x

    Elasticsearch .net client NEST使用说明 2.x Elasticsearch.Net与NEST是Elasticsearch为C#提供的一套客户端驱动,方便C#调用Elast ...

  8. VxWorks6.6 pcPentium BSP 使用说明(一):基本概念

    "VxWorks6.6 BSP 使用说明"将发布pcPentium和idp945两个系列的BSP的使用说明.每个系列约5篇文章.之后还将发布由这两个官方提供的BSP的实战移植方法. ...

  9. ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!

    ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt! 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. MoveIt ...

随机推荐

  1. ruby -- 基础学习(三)设置中国时区时间

    Rails连接MYSQL数据库,默认显示UTC时间.如果想要改成中国时区时间,按照下面修改: 在config/application.rb中找到 class Application < Rail ...

  2. ruby -- 进阶学习(十五)friendly_id配置

    实现效果:http://127.0.0.1:3000/article/1  =>  http://127.0.0.1:3000/article/书名 (1)Rails 4.0的friendly_ ...

  3. thinkphp -- 解决连接mssql后台管理菜单显示中文乱码问题(备忘)

    一开始使用的是mysql,数据库的编码是UTF-8 后来换数据库,mysql换成mssql2005,数据库编码为GBK,管理菜单出现乱码,如下所示(左图正常,右图乱码) 解决方法如下: 第一,查看数据 ...

  4. Linux命令:ps / top

    简介:ps - report a snapshot of the current processes. 用途:获取当前时刻程序运行状态 概要:ps [options] 类型:ps is hashed ...

  5. Screensiz.es – 最流行移动设备及显示器的屏幕规格大全

    Screensiz.es 帮助您快速找到目前市场上最流行的设备和显示器的屏幕规格.尺寸数据来自维基百科,使用更好理解的像素密度.流行度推算自 Google 查询(从 AdWords 流量估算),以及一 ...

  6. JavaScript学习总结 Ajax和Http状态字

    Ajax及其工作原理 AJAX 是一种与服务器交换数据无需刷新网页的技术,最早由Google公司在谷歌地图里使用,并迅速风靡. AJAX是不能跨域的,如需跨域,可以使用document.domain= ...

  7. 第二sprint总结

    总结:在第二轮sprint中,团队的开发工作出现了极大的懈怠,团队成员分配的工作完成情况较差,进度较慢,希望能在最后一周中,完成预定的功能模块 个人贡献分: 124陈彦生:22=20*5*22% 14 ...

  8. undefined reference to `omp_get_max_threads'

    原因是缺少 libgomp/openmp 库的链接 配置和解决方法参考: http://www.code-by.org/viewtopic.php?f=54&t=163

  9. Mantis 缺陷管理系统配置与安装

    什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written in t ...

  10. vim编辑器,管道,输入输出重定向

    1.vim的认识及其一些常用指令 a, 认识vim的命令行模式和插入模式: 当vim运行后默认进入该模式,他可以控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或 ...