log4cplus基本用法
说起日志系统,不得不提大名鼎鼎的Log4j。特别是使用Java的人们,能够说是无人不知无人不晓无人不用。
Log4j以其简单的使用方式(引入一个jar包。一行代码就可以调用)。灵活(可通过配置文件任意配置),功能强大(多个级别。可配置多个输出目的地,Console,File。系统日志。远端的LogServer等等,可订制日志格式,自己主动产生,删除日志文件)等等等等特性,一直是Java日志系统的首选。
1.Log4j的C++版本号Log4cplus
上面说到,日志在如今的系统里不可缺少。Java有功能强大的Log4j能够使用,作为最重要变成语言之中的一个的C++有什么选择呢?
幸运的是。有一些大牛非常早之前就发现了这个问题,他们仿照Log4J。使用C++语言开发了一套日志系统Log4cplus,Log4cplus的目的非常明白。打造C++版的Log4j。并且最重要的是Log4cplus是开源的。
2.使用简单介绍
1)下载http://sourceforge.net/projects/log4cplus/
2)Log4j是一个C++库,编译以后就可以使用。同一时候log4cplus支持windows和linux:
windows下:打开根文件夹下的msvc10以下的vsproject。编译就可以。
Linux下:configure, make
3)使用
a)最简单的使用方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include #include #include using
int main() { BasicConfigurator config.configure(); Logger "main" ); LOG4CPLUS_WARN(logger, "Hello, ); return
} |
b)可订制的方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/* #include #include #include using
using
int
/* SharedObjectPtr new
_append->setName( "append ); /* std::string "%d{%m/%d/%y ; std::auto_ptr new
/* _append->setLayout( /* Logger "test" ); /* _logger.addAppender(_append); /* _logger.setLogLevel(ALL_LOG_LEVEL); /* LOG4CPLUS_DEBUG(_logger, "This ) sleep(1); LOG4CPLUS_WARN(_logger, "This ) return
} |
4)配置
Log4cplus配置基本与log4J同样。
以下是一个样例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
log4cplus.rootLogger=DEBUG, log4cplus.appender.STDOUT=log4cplus::ConsoleAppender log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout #log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%m/%d/%y log4cplus.appender.STDOUT.layout.ConversionPattern=[%-5p #设置日志追加到文件尾 log4cplus.appender.ALL_MSGS=log4cplus::RollingFileAppender #设置日志文件大小 log4cplus.appender.ALL_MSGS.MaxFileSize=100MB #设置生成日志最大个数 log4cplus.appender.ALL_MSGS.MaxBackupIndex=10 #设置输出日志路径 log4cplus.appender.ALL_MSGS.File= log /test. log log4cplus.appender.ALL_MSGS.layout=log4cplus::PatternLayout #设置日志打印格式 #log4cplus.appender.ALL_MSGS.layout.ConversionPattern=|%D:%d{%Q}|%p|%t|%l|%m|%n log4cplus.appender.ALL_MSGS.layout.ConversionPattern=[%-5p #匹配同样日志级别,仅仅有debug日志才输入到该文件里 #log4cplus.appender.ALL_MSGS.filters.1=log4cplus::spi::LogLevelMatchFilter #log4cplus.appender.DEBUG_MSGS.filters.1.LogLevelToMatch=DEBUG #log4cplus.appender.DEBUG_MSGS.filters.1.AcceptOnMatch=true #log4cplus.appender.DEBUG_MSGS.filters.2=log4cplus::spi::DenyAllFilter |
log4cplus基本用法的更多相关文章
- 转载的log4cplus使用指南
以下转载的log4cplus使用指南的版本可能不是最新,仅作参考了解.应以最新安装包中的示例代码为准. 目 录1 Log4cplus简介 52 安装方法 53 主要类说明 64 ...
- Log4cplus使用指南
1. Log4cplus简介 log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统,受Apache Software License保护,作者是Tad E. Smith ...
- How to use Log4cplus
Introduction Log4cplus is derived by the popular Log4j written in java.<br>This tutorial show ...
- Log4cplus入门
Log4cplus使用指南 1. Log4cplus简单介绍 log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护 ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
随机推荐
- 广州高清卫星地图 用百度卫星地图server下载 含标签、道路数据叠加 可商用
广州高清卫星地图的地图展示图片各自是15级别.17级别.19级别的地图.一般来说17级别的地图图片就行用于商用.地图包包括一整张高级别的图片,如要全图浏览请用专业图片处理软件PS等打开. 一般来说互联 ...
- Java网络爬虫 - 一个简单的爬虫例子
WikiScraper.java package master.haku.scrape; import org.jsoup.Jsoup; import org.jsoup.nodes.Document ...
- [置顶] 关于Qt的学习
初学习QT,希望用此来记录学习的轨迹....... 1.Qt版本为Qt5.1.0 2.使用Qt-Creator进行变成. 3.第一个例子 打印出“Hello World” 3.1 打开Qt-Crea ...
- Python list替换元素
替换直接对应位置赋值 假设现在班里仍然是3名同学: >>> L = ['Adam', 'Lisa', 'Bart'] 现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班 ...
- [Done]ibatis/mybatis: java.lang.NoSuchMethodException
异常描述: Caused by: org.apache.ibatis.reflection.ReflectionException: Error instantiating interface cn. ...
- springmvc处理流程
SpringMVC核心处理流程: 1.DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器 2.HandlerMapping处理器映射器,根据请求 ...
- 移动通信安全——GSM安全体系
一.GSM网络概述 1.安全机制 认证用户,防止未授权接入 对空中接口传输加密,防止无线信道上用户信息被窃听 SIM卡独立于终端,管理用户信息 在空中接口上以临时身份标识用户,防止用户被跟踪 但是GS ...
- 使用Eclipse构建Maven项目 (step-by-step) (转收藏)
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.本文仅对Eclipse中如何安装.配置和使用Maven进行了介绍.完全step by step. 如果觉得本文 ...
- Makefile之大型工程项目子目录Makefile的一种通用写法
管理Linux环境下的C/C++大型项目,如果有一个智能的Build System会起到事半功倍的效果,本文描述Linux环境下大型工程项目子目录Makefile的一种通用写法,使用该方法,当该子目录 ...
- HDU 5005(Compromise-双人目标为最大化不同值的博弈)
Compromise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...