![]() |
Here are definitions of some terms that will be used widely throughout the documentation:
A single pack of information, collected from the user's application, that is candidate to be put into log. In a simple case the log record will be represented as a line of text in the log file after being processed by the logging library.
An "attribute" is a piece of information that can be used to specialize a log record. In Boost.Log attributes are represented by functional objects with a specific interface, which return the actual attribute value upon invoking.
Attribute values are the actual data acquired from attributes. This data is attached to the specific log record and processed by the library. Values may have different types (integers, strings and more complex, including user defined types). Some examples of attribute values: current time stamp, file name, line number, current scope name, etc..
A target, to which all log records are fed after being collected from user's application. It is sink's nature that defines where and how the log records are going to be stored.
An entry point for user's application to put log records to. In a simple case it is an object (logger) which maintains a set of attributes that will be used to form a log record upon user's request. However, one can surely create a source that would emit log records on some third-party events (for example, by intercepting another application's console output).
A predicate that takes a log record and tells whether this record should be passed through or discarded.
A functional object that forms up the final shape of the textual output. Some sinks, like binary logging sink, may not need it although almost any text-based sink would use a formatter to compose its output.
The global entity that maintains connection between sources and sinks and applies filters to records. It is mainly used on the logging library initialization stage.
Internationalization. The ability to manipulate wide characters.