22 "Var0" ,
A_CHAR(
"1|ALOX/NO_IDE_LOGGER|B"),
23 "Var1" ,
A_CHAR(
"2|ALOX/CONSOLE_TYPE|S"),
24 "Var2" ,
A_CHAR(
"3|ALOX/%2/VERBOSITY_WITH_%1|ALOXV"),
25 "Var3" ,
A_CHAR(
"4|ALOX/GLOBAL_SOURCE_PATH_TRIM_RULES|S"),
26 "Var4" ,
A_CHAR(
"5|ALOX/%1/SOURCE_PATH_TRIM_RULES|S"),
27 "Var5" ,
A_CHAR(
"6|ALOX/%1/DOMAIN_SUBSTITUTION|SV;"),
28 "Var6" ,
A_CHAR(
"7|ALOX/%1/PREFIXES|S"),
29 "Var7" ,
A_CHAR(
"8|ALOX/%1/DUMP_STATE_ON_EXIT|S"),
30 "Var8" ,
A_CHAR(
"20|ALOX/%1/AUTO_SIZES|ALOXAS"),
31 "Var9" ,
A_CHAR(
"21|ALOX/%1/FORMAT|ALOXFMI"),
32 "Var10" ,
A_CHAR(
"22|ALOX/%1/FORMAT_DATE_TIME|ALOXFDT"),
33 "Var11" ,
A_CHAR(
"23|ALOX/%1/FORMAT_MULTILINE|ALOXFML"),
34 "Var12" ,
A_CHAR(
"24|ALOX/%1/FORMAT_TIME_DIFF|ALOXFTD"),
35 "Var13" ,
A_CHAR(
"25|ALOX/%1/FORMAT_OTHER|ALOXFO"),
36 "Var14" ,
A_CHAR(
"26|ALOX/%1/REPLACEMENTS|ALOXSR"),
37 "Var15" ,
A_CHAR(
"27|ALOX/CONSOLE_LIGHT_COLORS|ALOXCLP"),
38 "Var16" ,
A_CHAR(
"28|ALOX/CODEPAGE|I"),
39 "Var_D1" ,
A_CHAR(
"false"),
40 "Var_D2" ,
A_CHAR(
"default"),
41 "Var_D8" ,
A_CHAR(
"none, verbosity=info, domain=/ALOX"),
42 "Var_D22" ,
A_CHAR(
"yyyy-MM-dd,HH:mm:ss, Days"),
43 "Var_D23" ,
A_CHAR(
"2,ALox: Multi-line message follows: ,> ,,nulled,\\r"),
44 "Var_D24" ,
A_CHAR(
"1000,--- , ns, \u03BCs, ms, s, m, h, days"),
45 "Var_D25" ,
A_CHAR(
"---, ---, 3"),
46 "Var_C1" ,
A_CHAR(
"If true, the creation of an additional, ide-specific debug logger is suppressed."),
47 "Var_C2" ,
A_CHAR(
"Influences the type of console logger to be created by method\n")
48 A_CHAR(
"Lox::CreateConsoleLogger which is also used by Log::AddDebugLogger\n")
49 A_CHAR(
"Possible values are: default, plain, ansi, and windows."),
50 "Var_C3" ,
A_CHAR(
"The verbosities of logger %2 in lox %1. Supports wildcards for domain paths.\n")
51 A_CHAR(
"Format: [ExportAll ;] [[*]domainpath[*] = Verbosity] [;...]"),
52 "Var_C4" ,
A_CHAR(
"Defines global source path trim rules (applicable for all Lox instances).\n")
53 A_CHAR(
"Format: [ [*]sourcepath [, inclusion, trimoffset, sensitivity, replacement] ] [;...]"),
54 "Var_C5" ,
A_CHAR(
"Defines source path trim rules for Lox %1.\n")
55 A_CHAR(
"Format: [ [*]sourcepath [, inclusion, trimoffset, sensitivity, replacement] ] [;...]"),
56 "Var_C7" ,
A_CHAR(
"Prefix strings for log domains of lox %1.\n")
57 A_CHAR(
"Format: [ [*]domainpath[*] = prefixstring [, inclusion] ] [;...]"),
58 "Var_C8" ,
A_CHAR(
"Log information about lox %1 on exit. Comma separated list of arguments define\n")
59 A_CHAR(
"verbosity, domain and content of output. Possible values content arguments are:\n")
60 A_CHAR(
"All, Basic, Version, SPTR, Loggers, Domains, InternalDomains\n")
61 A_CHAR(
"ScopeDomains, DSR, PrefixLogables Once, LogData, ThreadMappings,\n")
62 A_CHAR(
"CompilationFlags. If NONE is given nothing is dumped."),
63 "Var_C20" ,
A_CHAR(
"Detected field sizes and tabulator positions of the meta-information portion and the\n")
64 A_CHAR(
"those of the log output, separated by ';'. (These is a generated and temporary values)."),
65 "Var_C21" ,
A_CHAR(
"Meta info format of logger %1, including signatures for verbosity strings and\n")
66 A_CHAR(
"a string added to the end of each log statement.\n")
67 A_CHAR(
"Format: MetaInfo,Error,Warning,Info,Verbose,MsgSuffix"),
68 "Var_C22" ,
A_CHAR(
"Date and time format of logger %1.\n")
69 A_CHAR(
"Format: Date,Time,ElapsedDays"),
70 "Var_C23" ,
A_CHAR(
"Multi-line format of logger %1.\n")
71 A_CHAR(
"Format: Mode,Headline,Prefix,Suffix,Delimiter,DelimiterReplacement"),
72 "Var_C24" ,
A_CHAR(
"Time difference entities of logger %1.\n")
73 A_CHAR(
"Format: Minimum,None,Nanos,Micros,Millis,Secs,Mins,Hours, Days"),
74 "Var_C25" ,
A_CHAR(
"Specifies three further format values: 1. A replacement string if no file name is available,\n")
75 A_CHAR(
"2. A replacement string if no method name is available and 3. The minimum digits of the\n")
77 "Var_C26" ,
A_CHAR(
"Pairs of search and replacement strings for text logger %1.\n")
78 A_CHAR(
"Format: [search,replacement] [,...]"),
79 "Var_C27" ,
A_CHAR(
"Evaluated by colorful loggers that dispose of light and dark colors. Those may adjust\n")
80 A_CHAR(
"their foreground and background color accordingly. If not given, under Windows OS the right\n")
81 A_CHAR(
"value is detected. Otherwise the value defaults to \foreground. In some occasions, the\n")
82 A_CHAR(
"(detected or set) runtime environment might also indicate a different default value.\n")
83 A_CHAR(
"Possible values are 'Auto', Foreground', 'Background' and 'Never'."),
84 "Verbosity" ,
A_CHAR(
"0,Off,1,1,Error,1,1,Errors,1,2,Warning,1,2,Warnings,1,3,Info,1,4,Verbose,1"),
85 "Scope" ,
A_CHAR(
"0,Global,1,1,ThreadOuter,7,2,Filename,1,3,Method,1,4,ThreadInner,7,5,Path,7"),
86 "StateInfo" ,
A_CHAR(
"0,NONE,1,1,Basic,1,2,Version,1,^9,LogData,4,4,Loggers,1,^6,DSR,2,8,Domains,1,^4,InternalDomains,1,0x100000,SPTR,2,^5,ScopeDomains,1,^7,PrefixLogables,1,^8,Once,1,^10,ThreadMappings,1,^21,CompilationFlags,1,0xFFFFFFFF,All,1"),
87 "LCU" ,
A_CHAR(
"0,Auto,1,1,Never,1,2,Foreground,2,3,Background,2,2,ForeGround,1,3,BackGround,1"),
88 "VVEA" ,
A_CHAR(
"ExportAll"),
89 "TLFmtExc" ,
A_CHAR(
"\nAn exception occurred during formatting ALox logables:\n"),
90 "CFG_SECT_CMT_ALOX",
A_CHAR(
"@>'/// '@HL-Settings controlling ALox log output.\n")
103 #if ALIB_DEBUG && !ALIB_DEBUG_ASSERTION_PRINTABLES
105 "Instances of class ALox must not be created. Use singleton alib::ALOX" )
129#if !ALOX_DBG_LOG && ALOX_DBG_LOG_CI
130# pragma message ( "Warning: ALox configuration macro mismatch: ALOX_DBG_LOG_CI is true, while ALOX_DBG_LOG is false." )
132#if !ALOX_REL_LOG && ALOX_REL_LOG_CI
133# pragma message ( "Warning: ALox configuration macro mismatch: ALOX_REL_LOG_CI is true, while ALOX_REL_LOG is false" )
142#if !ALIB_CAMP_OMIT_DEFAULT_RESOURCES
157 "Var_D21",
A_CHAR(
"%SF:%SL:%A3%SM %A3[%TC +%TL][%tN][%D]%A1#%# %V: ")
159 "Var_D21",
A_CHAR(
"[%TC +%TL][%tN][%D]%A1#%# %V: ")
161 A_CHAR(
",[ERR],[WRN], ,[***]") ,
165 "Var_D21A",
A_CHAR(
"%SF:%SL:%A3%SM %A3[%TC +%TL][%tN][%D]%A1#%#: %V")
167 "Var_D21A",
A_CHAR(
"[%TC +%TL][%tN][%D]%A1#%#:%V")
169 A_CHAR(
",\033c0,\033c3,,\033c8,\033[0m" ) ,
172 "Var_D28",
A_CHAR(
"65001"),
173 "Var_C28",
A_CHAR(
"Code page used by class WindowsConsoleLogger. Defaults to 65001.\n"
174 "(Only used on Windows OS)" ) ,
178 "CFG_SECT_CMT_ALOX/LOG",
A_CHAR(
"@>'/// '@HL-Settings of the Lox-instance used with debug-logging.\n@HL-"),
179 "CFG_SECT_CMT_ALOX/DEBUG_LOGGER",
A_CHAR(
"@>'/// '@HL-Settings of the debug-logger.\n@HL-"),
188DOX_MARKER([DOX_VARIABLES_DEFINETYPE3])
195DOX_MARKER([DOX_VARIABLES_DEFINETYPE3])
210 ColorfulLoggerParameters::
211 LightColorUsage >( *
this,
"LCU" );
246namespace alib {
namespace strings {
250 int pathLevel= int( scope - Scope::Path );
257 target <<
'+' << pathLevel;
263 target._(
'(' )._( src.Second );
272 auto& cvVerbosities= data->As<alib::lox::CVVerbosities>();
274 cvVerbosities.ExportAll=
false;
278 esc.UnescapeTokens(results, src,
A_CHAR(
";"));
279 cvVerbosities.Clear();
280 for(
auto& it : results ) {
285 cvVerbosities.ExportAll=
true;
288 cvVerbosities.Add( value );
293 auto& cvVerbosities= data->As<alib::lox::CVVerbosities>();
295 if( cvVerbosities.ExportAll)
296 dest << exportAllKeyWord <<
" ;" <<
NEW_LINE;
298 if( !cvVerbosities.IsEmpty())
299 for(
auto it= cvVerbosities.begin() ;; ) {
300 esc.Escape(*it, dest,
A_CHAR(
";"));
302 if( ++it == cvVerbosities.end() )
#define ALIB_ASSERT_ERROR(cond, domain,...)
#define Log_RemoveDebugLogger()
BootstrapPhases GetBootstrapState()
SharedConfiguration config
Camp(const NCString &resourceCategory)
bool Do(const NString &alibrcFileName, const NString &callingFile, Camp &campInstance, const NString &resourceCategory, bool allowReplacements, const NString &cppFileName)
void Bootstrap() override
Implementation of #"Camp::Bootstrap;*".
void Shutdown(ShutdownPhases phase) override
static textlogger::TextLogger * DEBUG_LOGGER
The debug logger created by AddDebugLogger.
This class acts as a container for Loggers and provides a convenient interface to logging.
const String & GetResource(const NString &name)
NCString ResourceCategory
SPResourcePool resourcePool
Shared pointer to the resource pool.
ResourcePool & GetResourcePool()
virtual void BootstrapBulk(const nchar *category,...)=0
TSubstring & Trim(const TCString< TChar > &whiteSpaces=CStringConstantsTraits< TChar >::DefaultWhitespaces())
void Bootstrap(camp::Camp &camp, const NString &name, character innerDelim=',', character outerDelim=',')
const RecordsTraits< TEnum >::Type & GetRecord(TEnum element)
@ Left
Chooses left alignment.
@ Exclude
Chooses exclusion.
void shutdownLoxes()
Internal lox management.
TMonoAllocator< lang::HeapAllocator > GLOBAL_ALLOCATOR
strings::TField< nchar > NField
Type alias in namespace #"%alib".
resources::ResourcePool ResourcePool
Type alias in namespace #"%alib".
strings::TCString< nchar > NCString
Type alias in namespace #"%alib".
@ Final
The final initialization phase. Here, camps are initializing their custom setup.
strings::util::TStringVector< character, MonoAllocator > StringVectorMA
Type alias in namespace #"%alib".
constexpr CString NEW_LINE
A zero-terminated string containing the new-line character sequence.
lox::ALoxCamp ALOX
The singleton instance of ALib Camp class #"ALoxCamp".
strings::TAString< nchar, lang::HeapAllocator > NAString
Type alias in namespace #"%alib".
variables::Configuration Configuration
Type alias in namespace #"%alib".
ShutdownPhases
Termination levels usable with #"alib_mod_bs_camps;Bootstrapping ALib Camps".
@ Destruct
The main phase of termination that destructs everything.
lox::Lox Lox
Type alias in namespace #"%alib".
strings::util::StringEscaper StringEscaper
Type alias in namespace #"%alib".
strings::TString< character > String
Type alias in namespace #"%alib".
boxing::Pair< T, U > Pair
Type alias in namespace #"%alib".
strings::TSubstring< character > Substring
Type alias in namespace #"%alib".
characters::nchar nchar
Type alias in namespace #"%alib".
constexpr NCString NDEFAULT_WHITESPACES
A zero-terminated string of default whitespace characters.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace #"%alib".
monomem::TLocalAllocator< 4 > LocalAllocator4K
Type alias in namespace #"%alib". Allocates 4kB of stack memory.
lox::Scope Scope
Type alias in namespace #"%alib".
void operator()(TAString< TChar > &target, const TAppendable &src)
#define ALIB_VARIABLES_REGISTER_TYPE(CPPName)