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

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

  1. #include <log4cplus/logger.h>
  2. #include <log4cplus/configurator.h>
  3. #include <log4cplus/helpers/loglog.h>
  4. #include <log4cplus/helpers/stringhelper.h>
  5. using namespace log4cplus;
  6. using namespace log4cplus::helpers;

step2:实例化logger对象

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

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

  1.  

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

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

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

  1. LOG4CPLUS_DEBUG(logger, str.c_str() << ii);
  2. sleep(1);
  3. 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. 介绍WEB站点结构

    在这节里,我们将抛开Umbraco来看看已创建的站点.在我们介绍Umbraco之前,需要了解站点是如何工作的,如何使用使用浏览器工具. 我们看到在标签顶端的内容叫做页面标题.每个页面的标题都会改变表示 ...

  2. Swift_3.0_开启注释功能

    1. Swift_3.0 没法快捷键(command+/)注释的原因:这个是因为苹果解决xcode ghost,把插件屏蔽了. 2. 解决办法: (1) 终端输入: sudo /usr/libexec ...

  3. iOS-微信-分享

    一.微信原生的分享--准备工作. 1. 需要申请微信AppId. 2. 导入系统架包. SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h,WechatAuthS ...

  4. 论python中的作用域

    编程语言从早至今,可以分为面向过程编程.面向函数编程和面向对象编程.BASIC语言是典型的面向过程编程的语言,C语言支持面向函数编程,但不支持面向对象,JAVA只支持面向对象编程,python同时支持 ...

  5. C# 文字转声音

    添加COM组件引用:Microsoft Speech object library private SpVoice voice; private void button1_Click(object s ...

  6. mysql 线上not in查询中的一个坑

    今天早上开发又过来说,怎么有个语句一直没有查询出结果,数据是有的呀,并发来了如下的sql(为了方法说明,表名及查询均做了修改): select * from t2 where t2.course no ...

  7. sed之打印特定行与连续行

    接分号,表示打印特定行,如下命令只会打印出第一行与第十行 sed -n '1p;10p'  test.txt 接逗号,表达连续的行娄,如下命令打印出第一行到第十行 sed -n '1,10p' tes ...

  8. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  9. asp.net.mvc4在vs2010怎样创建mvc项目及它的结构

    1.打开vs2012,创建mvc项目 文件-->新建--> 项目--> web--> asp.net.Mvc 4web应用程序-->基本模板

  10. learning sql (second edition) script

    create database bank; use bank; /* begin table creation */ create table department (dept_id smallint ...