Android logger (since API 30) checks the per-tag property `log.tag.<tag>` to determine if a log message is loggable. See https://developer.android.com/ndk/reference/group/logging#__android_log_is_loggable . For example, `__android_log_buf_write` for a VERBOSE message will call `__android_log_is_loggable` and return `-EPERM` if the log message will not be printed because `log.tag.<tag>` is set to `INFO`.
Instead of erroring with the following error message, the Android sink should handle `-EPERM`. It is not an error to disable a log via the run-time property.
```
[*** LOG ERROR #0001 ***] [2023-06-29 00:50:26] [logcat] logging to Android failed: Unknown error -1 [/path/to/file.cpp(123)]
```
* qt_sink: add some warning on its usage
* qt_sink: add some warning on its usage - fix
---------
Co-authored-by: Benoit FANCHON <bfanchon@nanoxplore.com>
* Removes special format handling for fmt. Regains test compatibility with fmt
1.10.0.
fixes#2735
* reverted std::vector back to filename_t and used pointer to array start likewise as fmt's implementation uses
* calc_filename buffer increase softened, exception is throw if buffer exceeds 4k, filename parameter renamed to match intend.
* calc_filetime based on std::put_time for simpler implementation
* Fix stdout_sink_base::log's behavior inconsistency
It will flush every time when it if not defined _WIN32, but not in
Windows family.
We viewed the commit #48d4ed9 for fixing issue #1675 .
It seems missing this flushing operation in mistake.
* Use fflush at all operating system
* Remove redundant fflush from stdout_sink_base
---------
Co-authored-by: scc <scc@teamt5.org>