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 27 of file loxpimpl.inl.
Public Static Method Index: | |
static ALIB_DLL void | Acquire (LoxImpl *impl, const lang::CallerInfo &ci) |
static ALIB_DLL BoxesMA & | acquireInternalLogables (LoxImpl *impl) |
static ALIB_DLL int | checkScopeInformation (LoxImpl *impl, Scope &scope, const NString &internalDomain) |
static ALIB_DLL LoxImpl * | Construct (const NString &name) |
static ALIB_DLL MonoAllocator & | DbgGetMonoAllocator (LoxImpl *impl) |
static ALIB_DLL void | Destruct (LoxImpl *lox) |
static ALIB_DLL void | dumpStateOnLoggerRemoval (LoxImpl *impl) |
static ALIB_DLL void | Entry (LoxImpl *impl, const NString &domain, Verbosity verbosity) |
static ALIB_DLL void | entryDetectDomainImpl (LoxImpl *impl, Verbosity verbosity) |
static ALIB_DLL detail::Domain * | evaluateResultDomain (LoxImpl *impl, const NString &domainPath) |
static ALIB_DLL detail::Domain * | findDomain (LoxImpl *impl, detail::Domain &domainSystem, NString domainPath) |
static ALIB_DLL void | getAllVerbosities (LoxImpl *impl, variables::Variable &variable, detail::Logger *logger, detail::Domain &dom) |
static ALIB_DLL void | getDomainPrefixFromConfig (LoxImpl *impl, detail::Domain &dom) |
static ALIB_DLL threads::RecursiveLock & | getLock (LoxImpl *impl) |
static ALIB_DLL BoxesMA & | GetLogableContainer (LoxImpl *impl) |
static ALIB_DLL integer & | GetLogCounter (LoxImpl *impl) |
static ALIB_DLL detail::Logger * | GetLogger (LoxImpl *impl, const NString &loggerName) |
static ALIB_DLL const NString & | GetName (LoxImpl *impl) |
static ALIB_DLL void | GetState (LoxImpl *impl, NAString &buf, StateInfo flags) |
static ALIB_DLL void | getVerbosityFromConfig (LoxImpl *impl, variables::Variable &variable, detail::Logger *logger, detail::Domain &dom) |
static ALIB_DLL void | IncreaseLogCounter (LoxImpl *impl) |
static ALIB_DLL void | init (LoxImpl *impl) |
static ALIB_DLL int | IsActive (LoxImpl *impl, Verbosity verbosity, const NString &domain) |
static ALIB_DLL bool | isThreadRelatedScope (LoxImpl *impl, Scope scope) |
static ALIB_DLL void | log (LoxImpl *impl, detail::Domain *dom, Verbosity verbosity, BoxesMA &logables, lang::Inclusion prefixes) |
static ALIB_DLL void | logInternal (LoxImpl *impl, Verbosity verbosity, const NString &subDomain, BoxesMA &msg) |
static ALIB_DLL void | logInternal (LoxImpl *impl, Verbosity verbosity, const NString &subDomain, const NString &msg) |
static ALIB_DLL void | MapThreadName (LoxImpl *impl, const String &threadName, threads::ThreadID id) |
static ALIB_DLL void | once (LoxImpl *impl, const NString &domain, Verbosity verbosity, const Box &logables, const String &pGroup, Scope scope, int quantity) |
static ALIB_DLL void | Release (LoxImpl *impl) |
static ALIB_DLL detail::Logger * | RemoveLogger (LoxImpl *impl, const NString &loggerName) |
static ALIB_DLL bool | RemoveLogger (LoxImpl *impl, detail::Logger *logger) |
static ALIB_DLL void | RemoveThreadDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, threads::Thread *thread) |
static ALIB_DLL void | Reset (LoxImpl *impl) |
static ALIB_DLL Box | retrieve (LoxImpl *impl, const NString &pKey, Scope scope) |
static ALIB_DLL void | SetDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, threads::Thread *thread) |
static ALIB_DLL void | setDomain (LoxImpl *impl, const NString &scopeDomain, Scope scope, bool removeNTRSD, threads::Thread *thread) |
static ALIB_DLL void | SetDomainSubstitutionRule (LoxImpl *impl, const NString &domainPath, const NString &replacement) |
static ALIB_DLL void | SetFileNameCacheCapacity (LoxImpl *impl, integer numberOfLists, integer entriesPerList) |
static ALIB_DLL void | SetPrefix (LoxImpl *impl, const Box &prefix, const NString &domain, lang::Inclusion otherPLs) |
static ALIB_DLL void | setPrefix (LoxImpl *impl, const Box &prefix, Scope scope, threads::Thread *thread) |
static ALIB_DLL 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_DLL void | SetStartTime (LoxImpl *impl, const FILETIME &startTime, const NString &loggerName) |
static ALIB_DLL void | SetStartTime (LoxImpl *impl, Ticks startTime, const NString &loggerName) |
static ALIB_DLL void | SetStartTime (LoxImpl *impl, time_t startTime, const NString &loggerName) |
static ALIB_DLL void | SetVerbosity (LoxImpl *impl, const NString &loggerName, Verbosity verbosity, const NString &domain, Priority priority) |
static ALIB_DLL void | SetVerbosity (LoxImpl *impl, detail::Logger *logger, Verbosity verbosity, const NString &domain, Priority priority) |
static ALIB_DLL void | State (LoxImpl *impl, const NString &domain, Verbosity verbosity, const String &headLine, StateInfo flags) |
static ALIB_DLL void | store (LoxImpl *impl, const Box &data, const NString &pKey, Scope scope) |
static ALIB_DLL void | writeVerbositiesOnLoggerRemoval (LoxImpl *impl, Logger *logger) |
Public Method Index: | |
ALIB_DLL void | Reset () |
|
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. |
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. |
|
static |
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. Implementation of the constructor the constructor of class Lox.
name | The name of the Lox. Will be copied and converted to upper case. |
|
static |
Implementation of method Lox::DbgGetMonoAllocator.
impl | The implementation struct of the Lox. |
|
static |
Destructs a lox.
lox | The Lox that is to be destructed. |
|
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. |
|
static |
Implementation of method Lox::Entry.
impl | The implementation struct of the Lox. |
domain | The domain. |
verbosity | The verbosity. |
|
static |
Implementation of method Lox::EntryDetectDomain.
impl | The implementation struct of the Lox. |
verbosity | The verbosity. |
|
static |
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. |
|
static |
|
static |
Reads the verbosity for the given logger and domain from the ALib variable 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. |
|
static |
Reads a prefix string from the ALib variable 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. |
|
static |
Returns the internal lock.
impl | The implementation struct of the Lox. |
Implementation of method Lox::GetLogableContainer.
impl | The implementation struct of the Lox. |
Implementation of method Lox::GetLogCounter.
impl | The implementation struct of the Lox. |
|
static |
Implementation of method Lox::GetLogger.
impl | The implementation struct of the Lox. |
loggerName | The name of the Logger to search for (case-insensitive). |
Implementation of method Lox::GetName.
impl | The implementation struct of the Lox. |
|
static |
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. |
|
static |
Reads the verbosity for the given logger and domain from the ALib variable 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. |
|
static |
Increases the internal log counter of impl.
impl | The implementation struct of the Lox. |
|
static |
|
static |
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. |
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.
|
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. |
|
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. |
|
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. |
|
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. |
|
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 . |
|
static |
Implementation of method Lox::Release.
impl | The implementation struct of the Lox. |
|
static |
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.
|
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.
|
static |
Implementation of method Lox::RemoveThreadDomain.
ALIB_DLL void alib::lox::detail::LI::Reset | ( | ) |
Resets this object. Concretely, the following steps are performed:
|
static |
Implementation of method Lox::Reset.
impl | The implementation struct of the Lox. |
|
static |
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. |
|
static |
Implementation of method Lox::SetDomain.
|
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. |
|
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. |
|
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. |
|
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. |
|
static |
Implementation of the interface method fetching all possible parameters.
|
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. |
|
static |
Implementation of method Lox::SetStartTime.
|
static |
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. |
|
static |
Implementation of method Lox::SetStartTime.
|
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. |
|
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. |
|
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. |
|
static |
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. |
|
static |
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. |