Boost::Log::Tutorial::Definitions

定义

以下是一些术语的定义,这些术语将在整个文档中广泛使用:

Log record

从用户的应用程序中收集的一组信息,是将其放入日志中的候选者。在一个简单的例子中,日志记录将在日志文件中被记录到日志文件中作为一行文本。

Attribute

“属性”是一段元信息,可以用来专门化日志记录。在Boost.Log,日志属性由具有特定接口的函数对象表示,当被调用时返回实际的属性值。

Attribute value

属性值是从属性获得的实际数据。这些数据被附加到特定的日志记录中,并由库处理。属性值可以有不同的类型(整数、字符串和更复杂的类型,包括用户定义的类型)。属性值的一些例子:当前的时间戳值、文件名、行号、当前范围名称等等。属性值被封装在一个类型擦除包装器中,因此,该属性的实际类型在接口中是不可见的。实际值的类型(擦除)有时被称为存储类型。

(Attribute) value visitation

一种处理属性值的方法。这个方法涉及到一个函数对象(一个visitor),它被应用到属性值。visitor应该知道属性值的存储类型,以便处理它。

(Attribute) value extraction

当调用者试图获得对存储的值的引用时,一种处理属性值的方法。调用者应该知道属性值的存储类型,以便能够提取它。

Log sink

一个目标,所有的日志记录都是在从用户的应用程序中收集之后得到的。sink定义了日志记录将被存储在哪里以及如何被处理。

Log source

程序将日志记录写入的入口点。在一个简单的例子中,它是一个对象(logger),它维护一组属性,这些属性将被作用在用户的请求上,最后形成一个日志记录。但是,您可以创建一个源,它可以在一些其他的事件中发出日志记录(例如,通过截取和解析另一个应用程序的控制台输出)。

Log filter

一个谓词,它接受一个日志记录,并告诉我们该记录是否应该通过或丢弃。谓词通常基于附着在日志记录上的属性值形成其决策。

Log formatter

一个函数对象,它从日志记录中生成最终的文本输出。一些sinks,例如一个二进制的日志logging sink,可能不需要它,但是几乎所有基于文本的sink都会使用formatter来组成它的输出。

Logging core

在Log source和Log sink之间保持连接并将过滤器应用于Log record的全局实体。它主要用于Log库的初始化。

i18n

国际化。操纵宽字符的能力。

TLS

线程本地存储。首先这是一个变量。其次,对于每个线程来说,它的值都是独立的。

RTTI

运行时类型信息。这是dynamic_cast和typeid运算符正常运行所需的C ++语言支持数据结构。

猜你喜欢

转载自www.cnblogs.com/kohlrabi/p/9140951.html