21DOX_MARKER([DOX_CONFIG_DEFINETYPE2])
22namespace alib::config::detail {
29 escaper.UnescapeTokens(results, src,
A_CHAR(
",") );
31 rec.Format .Reset(results.TryGet(0));
32 rec.VerbosityError .Reset(results.TryGet(1));
33 rec.VerbosityWarning.Reset(results.TryGet(2));
34 rec.VerbosityInfo .Reset(results.TryGet(3));
35 rec.VerbosityVerbose.Reset(results.TryGet(4));
36 rec.MsgSuffix .Reset(results.TryGet(5));
42 escaper.Escape(rec.Format , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
43 escaper.Escape(rec.VerbosityError , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
44 escaper.Escape(rec.VerbosityWarning , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
45 escaper.Escape(rec.VerbosityInfo , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
46 escaper.Escape(rec.VerbosityVerbose , dest,
A_CHAR(
",")); dest <<
", " <<
NEW_LINE;
47 escaper.Escape(rec.MsgSuffix , dest,
A_CHAR(
","));
51DOX_MARKER([DOX_CONFIG_DEFINETYPE2])
53namespace alib::config::detail {
61 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
63 rec.Date .Reset(results.TryGet(0));
64 rec.TimeOfDay .Reset(results.TryGet(1));
65 rec.ElapsedDays.Reset(results.TryGet(2));
71 escaper.Escape(rec.Date , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
72 escaper.Escape(rec.TimeOfDay , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
73 escaper.Escape(rec.ElapsedDays , dest,
A_CHAR(
","));
82 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
85 rec.None .Reset( results.TryGet(1));
86 rec.Nanos .Reset( results.TryGet(2));
87 rec.Micros .Reset( results.TryGet(3));
88 rec.Millis .Reset( results.TryGet(4));
89 rec.Secs .Reset( results.TryGet(5));
90 rec.Mins .Reset( results.TryGet(6));
91 rec.Hours .Reset( results.TryGet(7));
92 rec.Days .Reset( results.TryGet(8));
99 escaper.Escape(rec.None , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
100 escaper.Escape(rec.Nanos , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
101 escaper.Escape(rec.Micros , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
102 escaper.Escape(rec.Millis , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
103 escaper.Escape(rec.Secs , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
104 escaper.Escape(rec.Mins , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
105 escaper.Escape(rec.Hours , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
106 escaper.Escape(rec.Days , dest,
A_CHAR(
","));
115 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
119 rec.Headline .Reset(results.TryGet(1));
120 rec.Prefix .Reset(results.TryGet(2));
121 rec.Suffix .Reset(results.TryGet(3));
122 buf .Reset(results.TryGet(4));
124 rec.Delimiter .Reset(buf);
125 rec.DelimiterReplacement .Reset(results.TryGet(5));
133 escaper.Escape(rec.Headline , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
134 escaper.Escape(rec.Prefix , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
135 escaper.Escape(rec.Suffix , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
136 if( rec.Delimiter.IsNotNull() )
137 escaper.Escape(rec.Delimiter , dest,
A_CHAR(
",")) << dest <<
A_CHAR(
", ");
140 escaper.Escape(rec.DelimiterReplacement , dest,
A_CHAR(
","));
149 escaper.UnescapeTokens(results, src,
A_CHAR(
","));
151 rec.NoSourceFileInfo .Reset(results.TryGet(0));
152 rec.NoMethodInfo .Reset(results.TryGet(1));
158#if ALIB_CHARACTERS_WIDE
159 String256 wNoSourceFileInfo(rec.NoSourceFileInfo);
160 String256 wNoMethodInfo (rec.NoMethodInfo );
161 escaper.Escape(wNoSourceFileInfo , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
162 escaper.Escape(wNoMethodInfo , dest,
A_CHAR(
",")); dest <<
A_CHAR(
", ");
164 escaper.Escape(rec.NoSourceFileInfo , dest,
","); dest <<
A_CHAR(
", ");
165 escaper.Escape(rec.NoMethodInfo , dest,
","); dest <<
A_CHAR(
", ");
167 dest << rec.LogNumberMinDigits;
179 importMI.Split( sepPos, importLog, 1 );
180 rec.Main .Import( importMI );
181 rec.LogMessage.Import( importLog );
189 rec.LogMessage.Export( dest );
198 escaper.UnescapeTokens(results, src,
A_CHAR(
"=,"));
202 String searchString= results.TryGet(cnt );
203 String replaceString= results.TryGet(cnt + 1);
204 if( searchString.IsEmpty() )
207 pairs.insert( pairs.end(),
AStringPA(pairs.get_allocator().GetAllocator()) );
208 pairs.back() << searchString;
209 pairs.insert( pairs.end(),
AStringPA(pairs.get_allocator().GetAllocator()) );
210 pairs.back() << replaceString;
218 for(
auto it = pairs.begin() ; it != pairs.end() ; )
220 escaper.Escape(*it , dest,
A_CHAR(
"=,"));
223 escaper.Escape(*it , dest,
A_CHAR(
"=,"));
227 dest.DeleteEnd(
A_CHAR(
", "));
238 ALIB_WARNING(
"ALOX",
"Error parsing variable CONSOLE_LIGHT_COLORS value {!Q'}.", src )
integer IndexOf(TChar needle, integer startIdx=0) const
ALIB_API uint64_t ParseDec(integer startIdx=0, TNumberFormat< TChar > *numberFormat=nullptr, integer *newIdx=nullptr) const
TSubstring & Trim(const TCString< TChar > &whiteSpaces=TT_CStringConstants< TChar >::DefaultWhitespaces())
ALIB_API void Export(AString &target)
#define ALIB_WARNING(...)
bool Parse(strings::TSubstring< TChar > &input, TEnum &result)
config::Configuration Configuration
Type alias in namespace alib.
monomem::TLocalAllocator< 4 > LocalAllocator4K
Type alias in namespace alib. Allocates 4kB of stack memory.
strings::TAString< character, lang::HeapAllocator > AString
Type alias in namespace alib.
strings::TSubstring< character > Substring
Type alias in namespace alib.
constexpr CString NEW_LINE
A zero-terminated string containing the new-line character sequence.
LocalString< 256 > String256
Type alias name for TLocalString<character,256>.
strings::TString< character > String
Type alias in namespace alib.
strings::util::StringEscaper StringEscaper
Type alias in namespace alib.
strings::util::TStringVector< character, MonoAllocator > StringVectorMA
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
strings::TAString< character, PoolAllocator > AStringPA
Type alias in namespace alib.
Parameters specific to colorful loggers. As of today, this simply has one attribute.
AutoSizes Main
The instance used with the meta info format string.
int64_t Minimum
Minimum time difference to log in nanoseconds. Below that None is written.