Qore Logger Module Reference 0.4
|
Implements pattern parsing and substitution. More...
#include <Logger.qm.dox.h>
Public Member Methods | |
constructor (string pattern) | |
Creates the object. More... | |
string | format (auto data) |
Formats the event record with the current pattern. More... | |
string | getPattern () |
Returns the current pattern. | |
setPattern (string value) | |
Sets the new pattern. More... | |
Public Attributes | |
const | ESCAPE_CHAR = "%" |
format escape character | |
Private Member Methods | |
abstract *string | resolveField (auto data, string key, *string option) |
Returns a formatted string for an input pattern. More... | |
Private Attributes | |
list< auto > | parsedPattern |
parsed pattern; list elements may be strings or hashes | |
Private:Internal Attributes | |
string | origPattern |
pattern | |
Implements pattern parsing and substitution.
The pattern defines fields to be substituted with real values
The pattern format is:
When a word (i.e. longer than one char) key without curly brackets is not found then in the next step is resolved its first char, e.g. "%parchive"
the first step tries to resolve "parchive"
key and if not resolved the second step "p"
key. To parse in key if single step delimit a word from the next character, use curly brackets, i.e. empty option, e.g. "%p{}archive"
. If a key is not resolved then exception is raised.
The following table covers various modifiers and scenarios:
Format modifier | left justify | minimum width | maximum width | comment |
%20c | false | 20 | none | Left pad with spaces if the category name is less than 20 characters long |
%-20c | true | 20 | none | Right pad with spaces if the category name is less than 20 characters long |
%.30c | NA | none | 30 | Truncate from the beginning if the category name is longer than 30 characters |
%20.30c | false | 20 | 30 | Left pad with spaces if the category name is shorter than 20 characters. However, if the category name is longer than 30 characters, then truncate from the beginning |
%-20.30c | true | 20 | 30 | Right pad with spaces if the category name is shorter than 20 characters. However, if the category name is longer than 30 characters, then truncate from the beginning |
Logger::LoggerPattern::constructor | ( | string | pattern | ) |
Creates the object.
pattern | the logger pattern |
LOGGER-ERROR | when pattern is invalid |
string Logger::LoggerPattern::format | ( | auto | data | ) |
Formats the event record with the current pattern.
data | is passed to resolveField() |
LOGGER-ERROR | when a key is not resolved |
|
privatepure virtual |
Returns a formatted string for an input pattern.
data | input context reference data |
key | the format character |
option | the format option value, if any |
Implemented in Logger::LoggerAppenderFileRotate, Logger::LoggerAppenderFileRing, Logger::LoggerAppenderFileArchive, and Logger::LoggerLayoutPattern.
Logger::LoggerPattern::setPattern | ( | string | value | ) |
Sets the new pattern.
value | the logger pattern |
LOGGER-ERROR | when pattern is invalid |