8#ifndef HPP_ALOX_DETAIL_DOMAIN
9#define HPP_ALOX_DETAIL_DOMAIN 1
11#if !defined(HPP_ALIB_LOX_PROPPERINCLUDE)
12# error "ALib sources with ending '.inl' must not be included from outside."
15#if !defined (HPP_ALOX_DETAIL_LOGGER)
19#if !defined (HPP_ALIB_MONOMEM_LIST)
22#if !defined (HPP_ALIB_MONOMEM_STDCONTAINERMA)
109 this->Logger= logger;
132 std::vector<LoggerData,StdContMA<LoggerData>>
Data;
189 while ( rootDomain->
Parent !=
nullptr )
190 rootDomain= rootDomain->
Parent;
213 return static_cast<int>(
Data.size()) - 1;
241 return static_cast<int>(
Data.size() );
252 for (
size_t i= 0; i <
Data.size() ; ++i )
265 ALIB_ASSERT_ERROR( no <
static_cast<int>(
Data.size()),
"ALOX",
"Internal error: Illegal Logger Number" )
277 for (
size_t i= 0; i <
Data.size() ; ++i )
279 return static_cast<int>( i );
290 for (
size_t i= 0; i <
Data.size() ; ++i )
292 return static_cast<int>( i );
316 return Data[
static_cast<size_t>(loggerNo)].LoggerVerbosity;
326 return Data[
static_cast<size_t>(loggerNo)].Priority;
337 return Data[
static_cast<size_t>(loggerNo)].LogCallsPerDomain;
360 if( statement != Verbosity::Off
361 && ( ( domain == Verbosity::Error && statement == Verbosity::Error )
362 || ( domain == Verbosity::Warning && ( statement == Verbosity::Warning || statement == Verbosity::Error ) )
363 || ( domain == Verbosity::Info && statement != Verbosity::Verbose )
364 || domain == Verbosity::Verbose )
367 ++
Data[
static_cast<size_t>(loggerNo)].LogCallsPerDomain;
432#if !defined(ALIB_DOX)
434 target.Append(
static_cast<const Box&
>(src) ); )
ALIB_API bool IsNotNull() const
std::vector< LoggerData, StdContMA< LoggerData > > Data
Verbosity GetVerbosity(int loggerNo)
bool ConfigurationAlreadyRead
ALIB_API void removeLoggerRecursive(int loggerNo)
int GetCount(int loggerNo)
List< Domain > SubDomains
ALIB_API Domain(MonoAllocator *allocator, const NString &name)
int GetLoggerNo(detail::Logger *logger)
int AddLogger(detail::Logger *logger)
ALIB_API Verbosity SetVerbosity(int loggerNo, Verbosity verbosity, Priorities priority)
void ToString(NAString &target)
detail::Logger * GetLogger(int no)
bool IsActive(int loggerNo, Verbosity statement)
Priorities GetPriority(int loggerNo)
void RemoveLogger(int loggerNo)
List< std::pair< PrefixLogable *, lang::Inclusion > > PrefixLogables
ALIB_API void addLoggerRecursive(detail::Logger *logger)
Domain * findRecursive(NSubstring &domainPath, int maxCreate, bool *wasCreated)
int GetLoggerNo(const NString &loggerName)
detail::Logger * GetLogger(const NString &loggerName)
static constexpr nchar Separator()
ALIB_API Domain * Find(NSubstring domainPath, int maxCreate, bool *wasCreated)
Logger(const NString &name, const NString &typeName)
const NString & GetName() const
PrefixLogable & operator=(PrefixLogable &&move)=default
PrefixLogable(const Box &src)
bool Equals(const TString< TChar > &rhs) const
#define ALIB_STRINGS_APPENDABLE_TYPE_INLINE(TYPE, IMPL)
#define ALIB_ASSERT_ERROR(cond,...)
strings::TAString< character > AString
Type alias in namespace alib.
characters::nchar nchar
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
Verbosity LoggerVerbosity
LoggerData(detail::Logger *logger)