没有合适的资源?快使用搜索试试~ 我知道了~
首页log4cpp安装使用大全
log4cpp安装使用大全
5星 · 超过95%的资源 需积分: 21 28 下载量 115 浏览量
更新于2023-03-16
评论
收藏 92KB DOC 举报
VS2008环境下日志工具库log4cpp整理文档,非常齐全,附带例子。
资源详情
资源评论
资源推荐
便利的开发工具——log4cpp
整理
1.下载与安装
1.1 下载
进入 主页 ,下载版本 包含
两个文件 (源文件包)和 (文档 包),解压后
存入 :盘。
1.2 在 VS2008 中编译 log4cpp
.进入 :… !"# 目录,在 $%&' 中打开 !"#(将多余的工程都
删除,只保留 和 )) 两个工程,分别编译他们的 * 和 + 版本。
&.在编译 )) 时,会提示 ,!-./-% 时出现错误。
0 . 重 新 填 写 ,!-./-% 项 :【 】 1 【 2 】 1 【 32
2】1【,!-./-%】1【!!-/】,在其中写入:
!"# !"
$$% !"%! !"& !"'()*+,+!
$-,$%!% !"./0'"!1!2 !"./0'"!
$3$456,7/'/89#%!% !".
'()*+600#!#
!"./0'"!
. 填 写 项 :【 】 1 【 2 】 1 【 32- 2 】
1【,!-./-%】1【】,在其中写入:
!".'()*+600#!#
4.继续编译,报错,缺乏源文件 56!-和U)2!,手动添加文件
至工程,编译成功。
#. 和 )) 编译成功后可以得到 /*(* 版的 /*
和 文件),还有 /*(+ 版的 /* 和 )。
新建目录 : /*,将上述编译好的 /* 及 拷贝到该目录下。
1.3 在 VS2008 项目中添加 include 和 lib
.步骤一:【7】1【2】1【--2】1【$,88-//】
分别在包含文件(-3)库文件()/*6-3)添加路径 : /
和 : /*。这一步骤只是告诉编译器如何去找文件,而并没有将里面
的文件包含到工程中去。
& .步 骤 二:【 】1 【 2 】 1 【32-2 】1 【 88 】
1【】1【/2-/-//】,添加包含的 / 文件路径
【 】 1 【 2 】 1 【 /9 】 1 【 】 1 【 /2 - /*6
//】,添加 /* 路径
【 】 1 【 2 】 1 【 /9 】 1 【 / 】 1 【 /2 - /2
/】添加用到的 /*:/*--(&:0&/*
在添加 /* 时,若 /* 是 * 版本,则在【】1【2】1【32
2】1【88】1【,-;2】1【+2!-)/*6】更改相应值为 <2
-*-))-=<>,若是 版本,则改为相应值。
2.log4cpp 语法
2.1 原理
) 中的概念继承自 ,主要有三个组件:,6=种类>,=附加目的
地>,)6(布局),此外还有 //6=优先级>和 ?,(嵌套的诊断上下文)等。
简而言之,,6 负责向日志中写入信息, 指定日志的目的地,)6 负
责设定日志的格式。//6 被用来指定 ,6 的优先级和日志的优先级,?, 则用来区
分不同场景交替出现的日志的手段。
) 记录日志的原理如下:每个 ,6 都有一个优先级,该优先级可以由
//6()方法设置,或者从其父 ,6 中继承而来。每条日志也有一个优先级,当
,6 记录该条日志时,若日志优先级高于 ,6 的优先级时,该日志被记录,否则
被忽略。系统默认的优先级等级如下:
关于优先级别的建议:开发运行时,设为 @.A;而正式运营时,则设为 ?B7,@
2.2 Category
,6 被组织成一个树,子 ,6 创建时优先级缺省 ?B7%@7,,6 缺省会继
承父 ,6 的 。而如果不希望这种 的继承关系, 允许使用
/2"/6 方法,为 时新的 取代父 ,6 的 列表。系统中可以
有多个 ,6,它们都继承同一个根。
,6 类和 ,)6 的关系,一个 ,6 可以和多个 相关联,
一个日志信息可以同时输出到多个设备上,每一个 都包含了一个 )6,该
)6 定义了 上日志的格式。
示例:
44根,+!
+:00,+!;!*+<+:00,+!+-"=
+:00600#!;!600#!<>
+:00?600#!$?600#!$@$4A+:00+$"=
!*+##600#!!600#!"=
44子,+!
+:00,+!;*+<
+:00,+!+/$,+!$"=
*+6##)"=
+:00600#!;600#!<>
5-B<C
?6(6*<C
6*-(<CC@
,-/(<CC@
---<DCC@
E6-'<:CC@
'(/,<FCC@
/'?<CC@
GB<CC@
'(&(<CC
取值越小,优先级越高
+:00!600#!$600#!$@;"=
*+##600#!600#!"=
) 中 有 一 个 总 是 可 用 并 实 例 化 好 的 ,6 , 即 根 ,6 。 使 用
,6+=>可以得到根 ,6。在大多数情况下,一个应用程序只需要一
个日志种类=,6>,但是有时也会用到多个 ,6,此时可以使用根 ,6 的
方法来得到子 ,6。不同的子 ,6 用于不同的场合。一个简单的例子
,6@! 如下所示:
H#I!J
H#I+:004,+!J
H#I+:004!600#!J
H#I+:004?600#!J
H#I+:004*J
H#I+:0041!!J
+0#=
!+@!K!+)LM"
N
+:00!600#!K600#!<>
+:00!600#!$600#!$@;"=
600#!%J*>+:00*""=
+:00!600#!K600#!<>
+:00!600#!$600#!$@;"=
600#!%J*>+:00*""=
+:00,+!;!<+:00,+!+-"=
!1!!+:001!! GB"=
+:00,+!;O<!+/$O$"=
O##600#!600#!"=
O1!!+:001!! GB"=
O!!!$O!!!$"=
+:00,+!;O<!+/$O$"=
O##600#!600#!"=
O1!!C"=
O>!$O>!+$"=
O$O$"=
O!$O!$"=
O!$O!$"=
+:00,+!#>"=
!!C=
P
2.3 Layout
)6 类控制输出日志消息的显示样式(看起来像什么)。 当前提供以下三种
)6 格式:
+:00* 44时间戳(0)
44优先级(0!!)
44类别(+!)
44' , 标签:
44日志信息()”。
44如:CFDF/'?(
+:001!*44让用户根据类似于 , 语言U0!函数的转换模
44式来指定输出格式。格式定义见代码附录一。
+:00&0*44以“优先级(0!!)%日志信息”格式显示
)6 类本身是一个虚类,它的三个子类 ./)6 是过于简单,%/!)6 不建议
采用。如果程序员不扩展自己的 )6 类的话,只能采用 )6 来定义日志的输出
格式,值得庆幸的是,)6 还是很好用的。
)6 使用 ,"/ 函数来设置日志的输出格式。该函数的声明如
下:"/-)6,"/=-/C-"/>-D
其中参数类型为 /,类似于 , 语言中的 /E,使用格式化字符串来描述输出
格式,其具体含义如下:
Q ++内容@即用户写 + 的具体信息U
Q 回车换行U
Q +! 名字U
Q# 时间戳U
Q0 优先级U
Q! 距离上一次写 + 的间隔@单位毫秒U
Q- 距离上一次写 + 的间隔@单位秒U
Q 线程名U
Q 处理器时间U
Q ' ,
)6 例子程序如下:
剩余20页未读,继续阅读
ytq0416
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5