MS Visual Studio can use type long for __LINE__ macro when /ZI
compilation flag is used - https://learn.microsoft.com/en-us/cpp/build/
reference/z7-zi-zi-debug-information-format?view=msvc-170#zi-1
This breaks some poco interfaces, for ex. logger
We should fix type for line number
* Improve implementation of logging macros. #2331
The GNU compiler emits a warning if nested "if" statements are followed by
an "else" statement and braces are not used to explicitly disambiguate the
"else" binding. This leads to problems with code like:
if (gate)
ASSERT_*(condition) << "Some message";
The "switch (0) case 0:" idiom is used to suppress this.
* I was wrong.
do-while better then switch-case approach for "ambiguous else blocker"
https://godbolt.org/z/W5nnYrzx6
* try to fix tabs
* again fix tabs
* again fix tabs
* again fix tabs
If the POCO_LOG_DEBUG is defined the poco_trace* and the poco_debug*
produce logs even if the _DEBUG flag is not set.
This makes the macros usable for applications that need to enable
higher log levels later at run time.