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 56 of file loxpimpl.inl.
Public Static Method Index: | |
static ALIB_API void | Acquire (LoxImpl *impl, const lang::CallerInfo &ci) |
static ALIB_API BoxesMA & | 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 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, config::Variable &variable, detail::Logger *logger, detail::Domain &dom) |
static ALIB_API void | getDomainPrefixFromConfig (LoxImpl *impl, detail::Domain &dom) |
static ALIB_API threads::RecursiveLock & | getLock (LoxImpl *impl) |
static ALIB_API BoxesMA & | 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, config::Variable &variable, 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, BoxesMA &logables, lang::Inclusion prefixes) |
static ALIB_API void | logInternal (LoxImpl *impl, Verbosity verbosity, const NString &subDomain, BoxesMA &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) |
static ALIB_API Box | retrieve (LoxImpl *impl, const NString &pKey, Scope scope) |
static ALIB_API void | SetDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, threads::Thread *thread) |
static ALIB_API void | setDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, bool removeNTRSD, threads::Thread *thread) |
static ALIB_API void | SetDomainSubstitutionRule (LoxImpl *impl, const NString &domainPath, const NString &replacement) |
static ALIB_API void | SetFileNameCacheCapacity (LoxImpl *impl, integer numberOfLists, integer entriesPerList) |
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, Priority 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, Priority priority) |
static ALIB_API void | SetVerbosity (LoxImpl *impl, detail::Logger *logger, Verbosity verbosity, const NString &domain, Priority 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) |
|
static |
Implementation of method Lox::Acquire.
impl | The implementation struct of the Lox. |
ci | The source location that the call is placed at. Usually macro ALIB_CALLER is passed here. |
Definition at line 297 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 2080 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 subdomain to log any error/warning into. |
-1
else. Definition at line 1910 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 alib::lox,ALoxCamp "lox,ALoxCamp". |
Definition at line 257 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::DbgGetMonoAllocator.
impl | The implementation struct of the Lox. |
Definition at line 404 of file loxpimpl.cpp.
|
static |
Destructs a lox.
lox | The Lox that is to be destructed. |
Definition at line 270 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 516 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 1423 of file loxpimpl.cpp.
Implementation of method Lox::EntryDetectDomain.
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
Definition at line 1480 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 1528 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 1699 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. |
variable | The loaded variable with verbosity information. |
logger | The logger to set the verbosity for. |
dom | The domain to set the verbosity for. |
Definition at line 1688 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 1620 of file loxpimpl.cpp.
|
static |
Returns the internal lock.
impl | The implementation struct of the Lox. |
Definition at line 290 of file loxpimpl.cpp.
Implementation of method Lox::GetLogableContainer.
impl | The implementation struct of the Lox. |
Definition at line 1411 of file loxpimpl.cpp.
Implementation of method Lox::GetLogCounter.
impl | The implementation struct of the Lox. |
Definition at line 284 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 431 of file loxpimpl.cpp.
Implementation of method Lox::GetName.
impl | The implementation struct of the Lox. |
Definition at line 279 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 2163 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. |
variable | The loaded variable with verbosity information. |
logger | The logger to set the verbosity for. |
dom | The domain to set the verbosity for. |
Definition at line 1563 of file loxpimpl.cpp.
|
static |
Increases the internal log counter of impl.
impl | The implementation struct of the Lox. |
Definition at line 1475 of file loxpimpl.cpp.
|
static |
Used on construction and with Reset.
impl | The implementation struct of the Lox. |
Definition at line 318 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 1449 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 1931 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 1961 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 subdomain of the internal domain to log into. |
msg | The message. |
Definition at line 2091 of file loxpimpl.cpp.
|
static |
Overloaded version accepting a string to log.
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
subDomain | The subdomain of the internal domain to log into. |
msg | The message. |
Definition at line 2099 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 1148 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 1181 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::Release.
impl | The implementation struct of the Lox. |
Definition at line 309 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 624 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 594 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 888 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::Reset.
impl | The implementation struct of the Lox. |
Definition at line 369 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 1348 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 421 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 802 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 909 of file loxpimpl.cpp.
|
static |
Implementation of method Lox::SetFileNameCacheCapacity.
impl | The implementation struct of the Lox. |
numberOfLists | The number of LRU-lists to use. |
entriesPerList | The maximum length of each cache list. |
Definition at line 398 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 1036 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 973 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 NULL_STRING. |
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 DefaultValues. |
Definition at line 407 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 1100 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 1084 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 DefaultValues. |
Definition at line 767 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 DefaultValues. |
Definition at line 661 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 1392 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 1270 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 463 of file loxpimpl.cpp.