Boost.Log v2 : 4.定义

来源:互联网 发布:mpu9250 九轴融合算法 编辑:程序博客网 时间:2024/05/01 08:02

定义

对本文档中的通用词语做如下定义:

Log record
用户程序收集到的一把信息,她们可以用作log输入。简而言之,log record最终表现为log文件中的一行文本,但在此之前她们要先通过log库的处理。

Attribute
一个attribute对应一个元信息,是用来特化log record的。Boost.Log中的attribute以函数对象方式呈现,她们有特定的接口返回实际属性值。

Attribute value
attribute valueattribute实际对应的数值。这些数值是和特定log record绑定在一起的,并且会用log库进行处理。数值有不同的数据类型(整型,字符串或其他用户定义的复杂类型)。举些attribute value的例子:当前时间戳值,文件名,行号,当前名字域等等。attribute value被一些类型无关类封装着,在接口中是看不出实际类型的。她们的实际类型有时被统称为stored type

(Attribute) value visitation
处理attribute value的路径。该路径会调用函数对象(visitor 模式)并作用于attribute value。该路径需要知道目标attribute valuestored type,这样才能处理数据。

(Attribute) value extraction
当调用者试图获取存储值的引用时,可以用(Attribute) value extraction提供的途径。调用者只能知道目标attribute valuestored type之后才能“抽取”她。

Log sink
用户程序收集到log record后会提供给log sinklog sink定义了log record应当何时在何处被存储或处理。

Log source
用户程序放置log record的入口点。简单的说,这是一个logger对象,其中维护着一组log attribute,这些log attribute是用来响应用户请求生成log record用到。然而,您也可以创建一个带副作用的log source(比如,拦截并解析其他应用的控制台输出)。

Log filter
用来断言一个log record应该被后续处理还是被立即舍弃。log filter通常是基于log recordlog attribute的值做出判断的。

Log formatter
log record生产最终输出文本的函数对象。尽管几乎所有基于文本的log sink都需要log formatter 来生成输出,但也有些log sink是不需要log formatter的,比如binary log sink

Logging core
一个管理log sourcelog sink连接的实体,她还负责把log filter应用到log record上。通常在Boost.Log初始化时她就投入使用了。

i18n
国际化。提供封装宽字符的功能。

TLS
线程本地存储。一个变量对不同线程的访问有各自独立值的话,我们说她TLS

RTTI
运行时类型信息。C++需要RTTI才能支持数据类型的dynamic_cast转换和typeid操作符。


翻译:Lanser@csdn.net
声明:本文旨在技术交流,可以转载,但如果是商业用途请务必和原作者确认。本人保留追诉权利。

0 0
原创粉丝点击