Struct that collects static functions that provide the implementation of methods of class Lox . For most; the first parameter is of type lox;detail::LoxImpl .
Definition at line 57 of file loxpimpl.inl.
Public Static Method Index: | |
static ALIB_API void | Acquire (LoxImpl *impl, const NCString &file, int line, const NCString &func) |
static ALIB_API Boxes & | acquireInternalLogables (LoxImpl *impl) |
static ALIB_API int | checkScopeInformation (LoxImpl *impl, Scope &scope, const NString &internalDomain) |
static ALIB_API void | Construct (Lox *lox, const NString &name, bool doRegister) |
static ALIB_API monomem::MonoAllocator & | DbgGetMonoAllocator (LoxImpl *impl) |
static ALIB_API void | Destruct (Lox *lox) |
static ALIB_API void | dumpStateOnLoggerRemoval (LoxImpl *impl) |
static ALIB_API void | Entry (LoxImpl *impl, const NString &domain, Verbosity verbosity) |
static ALIB_API void | entryDetectDomainImpl (LoxImpl *impl, Verbosity verbosity) |
static ALIB_API detail::Domain * | evaluateResultDomain (LoxImpl *impl, const NString &domainPath) |
static ALIB_API detail::Domain * | findDomain (LoxImpl *impl, detail::Domain &domainSystem, NString domainPath) |
static ALIB_API void | getAllVerbosities (LoxImpl *impl, detail::Logger *logger, detail::Domain &dom) |
static ALIB_API void | getDomainPrefixFromConfig (LoxImpl *impl, detail::Domain &dom) |
static ALIB_API threads::ThreadLock & | getLock (LoxImpl *impl) |
static ALIB_API Boxes & | GetLogableContainer (LoxImpl *impl) |
static ALIB_API integer & | GetLogCounter (LoxImpl *impl) |
static ALIB_API detail::Logger * | GetLogger (LoxImpl *impl, const NString &loggerName) |
static ALIB_API const NString & | GetName (LoxImpl *impl) |
static ALIB_API void | GetState (LoxImpl *impl, NAString &buf, StateInfo flags) |
static ALIB_API void | getVerbosityFromConfig (LoxImpl *impl, detail::Logger *logger, detail::Domain &dom) |
static ALIB_API void | IncreaseLogCounter (LoxImpl *impl) |
static ALIB_API void | init (LoxImpl *impl) |
static ALIB_API int | IsActive (LoxImpl *impl, Verbosity verbosity, const NString &domain) |
static ALIB_API bool | isThreadRelatedScope (LoxImpl *impl, Scope scope) |
static ALIB_API void | log (LoxImpl *impl, detail::Domain *dom, Verbosity verbosity, Boxes &logables, lang::Inclusion prefixes) |
static ALIB_API void | logInternal (LoxImpl *impl, Verbosity verbosity, const NString &subDomain, Boxes &msg) |
static ALIB_API void | logInternal (LoxImpl *impl, Verbosity verbosity, const NString &subDomain, const NString &msg) |
static ALIB_API void | MapThreadName (LoxImpl *impl, const String &threadName, threads::ThreadID id) |
static ALIB_API void | once (LoxImpl *impl, const NString &domain, Verbosity verbosity, const Box &logables, const String &pGroup, Scope scope, int quantity) |
static ALIB_API void | Release (LoxImpl *impl) |
static ALIB_API detail::Logger * | RemoveLogger (LoxImpl *impl, const NString &loggerName) |
static ALIB_API bool | RemoveLogger (LoxImpl *impl, detail::Logger *logger) |
static ALIB_API void | RemoveThreadDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, threads::Thread *thread) |
static ALIB_API void | Reset (LoxImpl *impl, bool reInitialze=true) |
static ALIB_API Box | retrieve (LoxImpl *impl, const NString &pKey, Scope scope) |
static ALIB_API void | setDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, bool removeNTRSD, threads::Thread *thread) |
static ALIB_API void | SetDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, threads::Thread *thread) |
static ALIB_API void | SetDomainSubstitutionRule (LoxImpl *impl, const NString &domainPath, const NString &replacement) |
static ALIB_API void | SetPrefix (LoxImpl *impl, const Box &prefix, const NString &domain, lang::Inclusion otherPLs) |
static ALIB_API void | setPrefix (LoxImpl *impl, const Box &prefix, Scope scope, threads::Thread *thread) |
static ALIB_API void | SetSourcePathTrimRule (LoxImpl *impl, const NCString &path, lang::Inclusion includeString, int trimOffset, lang::Case sensitivity, const NString &trimReplacement, lang::Reach reach, Priorities priority) |
static ALIB_API void | SetStartTime (LoxImpl *impl, const FILETIME &startTime, const NString &loggerName) |
static ALIB_API void | SetStartTime (LoxImpl *impl, Ticks startTime, const NString &loggerName) |
static ALIB_API void | SetStartTime (LoxImpl *impl, time_t startTime, const NString &loggerName) |
static ALIB_API void | SetVerbosity (LoxImpl *impl, const NString &loggerName, Verbosity verbosity, const NString &domain, Priorities priority) |
static ALIB_API void | SetVerbosity (LoxImpl *impl, detail::Logger *logger, Verbosity verbosity, const NString &domain, Priorities priority) |
static ALIB_API void | State (LoxImpl *impl, const NString &domain, Verbosity verbosity, const String &headLine, StateInfo flags) |
static ALIB_API void | store (LoxImpl *impl, const Box &data, const NString &pKey, Scope scope) |
static ALIB_API void | writeVerbositiesOnLoggerRemoval (LoxImpl *impl, Logger *logger) |
Implementation of method Lox::Acquire .
impl | The implementation struct of the Lox. |
file | The name of the source code file that the call is placed in. Usually the predefined preprocessor macro FILE is passed here. |
line | The line number within the source code file that the call is placed in. Usually the predefined preprocessor macro LINE is passed here. |
func | The name of the function that the call is placed in. Usually the predefined preprocessor macro func (or FUNCTION) is passed here. |
Definition at line 309 of file loxpimpl.cpp.
Returns a reference to a list of boxes to be used by internal logging. Each invocation has to be followed by an invocation to logInternal which releases the logables.
impl | The implementation struct of the Lox. |
Definition at line 2211 of file loxpimpl.cpp.
Checks if given scope needs information that is not available. In addition, the in/out parameter scope is changed to Scope::Path, in case a level was added.
impl | The implementation struct of the Lox. | |
[in,out] | scope | A reference to the scope that is to be checked (and eventually modified. |
internalDomain | The internal sub-domain to log any error/warning into. |
-1
else. Definition at line 2079 of file loxpimpl.cpp.
Implementation of the constructor the constructor of class Lox.
lox | The Lox that is to be constructed. |
name | The name of the Lox. Will be copied and converted to upper case. |
doRegister | If true , this object is registered with static class ALox. |
Definition at line 269 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::DbgGetMonoAllocator .
impl | The implementation struct of the Lox. |
Definition at line 2238 of file loxpimpl.cpp.
|
static |
Destructs a lox.
lox | The Lox that is to be destructed. |
Definition at line 282 of file loxpimpl.cpp.
|
static |
Implements functionality for configuration variable LOXNAME_DUMP_STATE_ON_EXIT
. Is called when a logger is removed.
impl | The implementation struct of the Lox. |
Definition at line 707 of file loxpimpl.cpp.
Implementation of method Lox::Entry .
impl | The implementation struct of the Lox. |
domain | The domain. |
verbosity | The verbosity. |
Definition at line 1609 of file loxpimpl.cpp.
Implementation of method Lox::EntryDetectDomain .
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
Definition at line 1667 of file loxpimpl.cpp.
Assembles the resulting domain from the given domainPath and the Scope Domain paths (see SetDomain) according to the scope identified by scopeInfo . The resulting full domain string is assembled from inner to outer scope. If domainPath , respectively as soon as any of the Scope Domain's paths start with the character defined with Domain::Separator, the evaluation is stopped (the path is interpreted as absolute).
impl | The implementation struct of the Lox. |
domainPath | The domain path. If starting with the character defined with Domain::Separator, no scope domains are applied. |
Definition at line 1715 of file loxpimpl.cpp.
|
static |
Invokes Find on the given domain and logs internal message when the domain was not known before.
impl | The implementation struct of the Lox. |
domainSystem | The domain system. Either the standard or the internal one. |
domainPath | The domain path. |
Definition at line 1880 of file loxpimpl.cpp.
|
static |
Reads the verbosity for the given logger and domain from the ALib configuration system. This internal method is used when a new logger is added. Walks recursively for all existing domains.
impl | The implementation struct of the Lox. |
logger | The logger to set the verbosity for. |
dom | The domain to set the verbosity for. |
Definition at line 1869 of file loxpimpl.cpp.
|
static |
Reads a prefix string from the ALib configuration system. This internal method is used when a new domain is created,
impl | The implementation struct of the Lox. |
dom | The domain to set the verbosity for. |
Definition at line 1806 of file loxpimpl.cpp.
|
static |
Returns the internal lock.
impl | The implementation struct of the Lox. |
Definition at line 302 of file loxpimpl.cpp.
Implementation of method Lox::GetLogableContainer .
impl | The implementation struct of the Lox. |
Definition at line 1597 of file loxpimpl.cpp.
Implementation of method Lox::GetLogCounter .
impl | The implementation struct of the Lox. |
Definition at line 296 of file loxpimpl.cpp.
Implementation of method Lox::GetLogger .
impl | The implementation struct of the Lox. |
loggerName | The name of the Logger to search for (case insensitive). |
Definition at line 579 of file loxpimpl.cpp.
Implementation of method Lox::GetName .
impl | The implementation struct of the Lox. |
Definition at line 291 of file loxpimpl.cpp.
Implementation of method Lox::GetState .
impl | The implementation struct of the Lox. |
buf | The target string. |
flags | Bits that define which state information is collected. |
Definition at line 2302 of file loxpimpl.cpp.
|
static |
Reads the verbosity for the given logger and domain from the ALib configuration system. This internal method is used in two occasions:
The variable is already read and found in an internal instance.
impl | The implementation struct of the Lox. |
logger | The logger to set the verbosity for. |
dom | The domain to set the verbosity for. |
Definition at line 1751 of file loxpimpl.cpp.
|
static |
Increases the internal log counter of impl .
impl | The implementation struct of the Lox. |
Definition at line 1662 of file loxpimpl.cpp.
|
static |
Used on construction and with Reset.
impl | The implementation struct of the Lox. |
Definition at line 332 of file loxpimpl.cpp.
Implementation of method Lox::IsActive .
impl | The implementation struct of the Lox. |
verbosity | The verbosity to query for activity. |
domain | The log domain. All rules for resolving the effective log domain apply as with normal log statements. |
Definition at line 1635 of file loxpimpl.cpp.
Checks if given scope is thread-related.
impl | The implementation struct of the Lox. |
scope | The scope that is to be checked. |
true
if scope is thread-related, false
else. Definition at line 2100 of file loxpimpl.cpp.
|
static |
This method is looping over the Loggers, checking their verbosity against the given one, and, if they match, invoke the log method of the Logger. With the first logger identified to be active, the Prefix Objects get collected from the scope store.
impl | The implementation struct of the Lox. |
dom | The domain to log on |
verbosity | The verbosity. |
logables | The objects to log. |
prefixes | Denotes if prefixes should be included or not. |
Definition at line 2121 of file loxpimpl.cpp.
|
static |
Logs an internal error message using the internal domain tree as defined in Lox::InternalDomains.
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
subDomain | The sub-domain of the internal domain to log into. |
msg | The message. |
Definition at line 2222 of file loxpimpl.cpp.
|
static |
Overloaded version accepting a string to log.
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
subDomain | The sub-domain of the internal domain to log into. |
msg | The message. |
Definition at line 2230 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::MapThreadName .
impl | The implementation struct of the Lox. |
threadName | The name of the thread as it should be displayed in the logs. |
id | The thread ID. |
Definition at line 1331 of file loxpimpl.cpp.
|
static |
Internal method serving public interface Lox::Once .
impl | The implementation struct of the Lox. |
domain | Optional Log Domain which is combined with Scope Domains set for the Scope of invocation. |
verbosity | The verbosity of the Log Statement (if performed). |
logables | The objects to log (Multiple objects may be provided within container class Boxes.) |
pGroup | The optional name of the statement group. If used, all statements that share the same group name are working on the same counter (according to the scope .) If omitted (or empty or nullptr), the counter is bound to the Scope provided. If omitted and scope is Scope::Global, then the counter is associated exclusively with the single Log Statement itself. |
scope | The Scope that the group or counter is bound to. |
quantity | The number of logs to be performed. As the name of the method indicates, this defaults to 1 . |
Definition at line 1363 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::Release .
impl | The implementation struct of the Lox. |
Definition at line 322 of file loxpimpl.cpp.
Implementation of method Lox::RemoveLogger .
impl | The implementation struct of the Lox. |
loggerName | The name of the Logger(s) to be removed (case insensitive). |
nullptr
if not found. Definition at line 812 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::RemoveLogger .
impl | The implementation struct of the Lox. |
logger | The logger to be removed. |
true
, if the Logger was found and removed, false
otherwise. Definition at line 782 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::RemoveThreadDomain .
impl | The implementation struct of the Lox. |
scopeDomain | The domain path to register. |
scope | Either Scope::ThreadOuter or Scope::ThreadInner. With other values, an internal error is logged. |
thread | The thread to set/unset a thread-related Scope Domains for. |
Definition at line 1074 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::Reset .
impl | The implementation struct of the Lox. |
reInitialze | If called from the destructor false is passed. Defaults to true and must not be set by callers. |
Definition at line 379 of file loxpimpl.cpp.
Internal method serving public interface Lox::Retrieve .
impl | The implementation struct of the Lox. |
pKey | The key to the data. |
scope | The Scope that the data is bound to. |
Definition at line 1530 of file loxpimpl.cpp.
|
static |
Implementation of the interface method fetching all possible parameters.
impl | The implementation struct of the Lox. |
scopeDomain | The domain path to register. |
scope | The scope that the given domain should be registered for. Available Scope definitions are platform/language dependent. |
removeNTRSD | Used to remove a named thread-related Scope Domain (and is true only when invoked by interface method RemoveThreadDomain. |
thread | The thread to set/unset a thread-related Scope Domain for. |
Definition at line 988 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetDomain .
impl | The implementation struct of the Lox. |
scopeDomain | The domain path to register. |
scope | Either Scope::ThreadOuter or Scope::ThreadInner. With other values, an internal error is logged. |
thread | The thread to set/unset a thread-related Scope Domains for. |
Definition at line 569 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetDomainSubstitutionRule .
impl | The implementation struct of the Lox. |
domainPath | The path to search. Has to start with either '/' or '*' . |
replacement | The replacement path. |
Definition at line 1095 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetPrefix .
impl | The implementation struct of the Lox. |
prefix | The Prefix Logable to set. |
domain | The domain path. Defaults to nullptr , resulting in evaluated Scope Domain path. |
otherPLs | If set to Inclusion::Exclude , scope-related Prefix Logables are ignored and only domain-related Prefix Logables are passed to the Loggers. |
Definition at line 1220 of file loxpimpl.cpp.
|
static |
Implementation of the interface method fetching all possible parameters.
impl | The implementation struct of the Lox. |
prefix | The Prefix Logable to set. |
scope | The scope that the given logable should be registered for. Available Scope definitions are platform/language dependent. |
thread | The thread to set/unset a thread-related Prefix Logable for. |
Definition at line 1158 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetSourcePathTrimRule .
impl | The implementation struct of the Lox. |
path | The path to search for. If not starting with '*' , a prefix is searched. |
includeString | Determines if path should be included in the trimmed path or not. Optional and defaults to Inclusion::Exclude. |
trimOffset | Adjusts the portion of path that is trimmed. Optional and defaults to 0 . |
sensitivity | Determines if the comparison of path with a source file's path is performed case sensitive or not. Optional and defaults to Case::Ignore. |
trimReplacement | Replacement string for trimmed portion of the path. Optional and defaults to NullString(). |
reach | Denotes whether the rule is applied locally (to this Lox only) or applies to all instances of class Lox. Defaults to Reach::Global. |
priority | The priority of the setting. Defaults to Priorities::DefaultValues. |
Definition at line 555 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetStartTime .
Implementation of method Lox::SetStartTime .
impl | The implementation struct of the Lox. |
startTime | Optional parameter with the new start time. Defaults to current time if omitted. |
loggerName | The name of the Logger(s) whose start time is to be set (case insensitive). Defaults to nullptr, which indicates that all loggers are to be affected. |
Definition at line 1283 of file loxpimpl.cpp.
Implementation of method Lox::SetStartTime .
impl | The implementation struct of the Lox. |
startTime | The new start time in system specific time unit. |
loggerName | The name of the Logger whose start time is to be set (case insensitive). Defaults to empty string, which indicates that all loggers are to be affected. |
Definition at line 1267 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetVerbosity .
impl | The implementation struct of the Lox. |
loggerName | The logger to be to be affected, identified by its name (case insensitive). |
verbosity | The 'level of verboseness' to be set. |
domain | The parent (start) domain to be set. The use of absolute paths starting with '/' are recommended. Defaults to root domain "/". |
priority | The priority of the setting. Defaults to Priorities::DefaultValues. |
Definition at line 953 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetVerbosity .
impl | The implementation struct of the Lox. |
logger | The logger to be to be affected (case insensitive). |
verbosity | The 'level of verboseness' to be set. |
domain | The parent (start) domain to be set. The use of absolute paths starting with '/' are recommended. Defaults to root domain "/". |
priority | The priority of the setting. Defaults to Priorities::DefaultValues. |
Definition at line 849 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::State .
impl | The implementation struct of the Lox. |
domain | Optional Log Domain which is combined with Scope Domains set for the Scope of invocation. |
verbosity | The verbosity. |
headLine | If given, a separated headline will be logged at first place. |
flags | Flag bits that define which state information is logged. |
Definition at line 1578 of file loxpimpl.cpp.
Internal method serving public interface Lox::Store .
impl | The implementation struct of the Lox. |
data | The data object to store. In C++, has to be heap allocated and will be deleted by this Lox when overwritten or this lox is deleted. |
pKey | The key to the data. |
scope | The Scope that the data is bound to. |
Definition at line 1452 of file loxpimpl.cpp.
Implements functionality for configuration variable LOXNAME_LOGGERNAME_VERBOSITY
. Is called when a logger is removed.
impl | The implementation struct of the Lox. |
logger | The logger to write the verbosity for. |
Definition at line 608 of file loxpimpl.cpp.