Commit Graph

2221 Commits

Author SHA1 Message Date
Gabi Melman 0d5d8140ec Expand ringbuffer sink tests 2025-07-06 00:23:27 +03:00
VZ 287333ee00 Remove unnecessary and inconsistent "final" from color sinks (#3430)
The use of "final" differed between ansicolor_sink and wincolor_sink,
resulting in the code inheriting from std{err,out}_color_sink classes,
which are defined as one or the other on different platforms, being able
to override most of the functions under non-Windows platforms, but not
under Windows.

This seems gratuitously inconsistent, so just remove all "final"
keywords from both classes, especially because there doesn't seem any
good reason to use it and the other sink classes don't use it (with the
exception of base_sink, which is special).

This also incidentally fixes using "final override" in most places but
"override final" in wincolor_sink.h.

Fixes #3429.
2025-06-30 07:39:32 +03:00
电线杆 ad725d34cc Use std::getenv #3414 (#3415) 2025-06-08 23:16:34 +03:00
Gabi Melman e655dbb685 Fix issue #3408
Remove including core.h or base.h
2025-06-07 13:44:09 +03:00
Gabi Melman 37ff466454 Add coverity scan to CI and fix warnings (#3400)
* Move callback function in thread_pool ctor

* Added const qualifiers to logger.h

* Remove unused includes from file_helper-inl.h

* Fix comments and remove unused include from helpers-inl.h

* Fix typo in comment for set_default_logger method.

* Use `std::move` for `old_logger` in `set_default_logger`.

* Use std::move in example

* Wrap `main` content in try block for exception safety.

* Added coverity to ci
2025-05-12 15:36:07 +03:00
Gabi Melman 6fa36017cf Version 1.15.3 2025-05-09 08:55:57 +03:00
Gabi Melman 7ca6a4fb27 Update commemt 2025-05-09 02:49:36 +03:00
Gabi Melman 070e1c9747 Update comment 2025-05-09 02:46:10 +03:00
Gabi Melman 0d31acae28 Fmt 11.2.0 (#3399)
* Bump fmt to 11.2.0
2025-05-08 20:13:03 +03:00
Gabi Melman 943fcbd761 Register replace logger (#3398)
* Add register_or_replace(logger) to atomically replace logger in registry
* fix some  comments
2025-05-08 15:42:54 +03:00
Gabi Melman 7e022c4300 Feature 3379 (#3397)
* Fix #3379

* clang format
2025-05-08 14:02:00 +03:00
Tihran Katolikian 847db3375f dup_filter_sink: remove notification_level argument; use last message log level for notification instead (#3390) 2025-04-18 20:45:56 +03:00
gabime 48bcf39a66 Version 1.15.2 2025-03-29 14:01:07 +03:00
Gabi Melman 9c58257480 Fix zformatter on Apple and POSIX.1-2024 conforming platform (#3366)
* Add test case for #3351 (wrong GMT offset in SunOS/Solaris fallback)

* Fix #3352 (Missing test for Apple / POSIX.1-2024 chooses buggy workaround)

Apple platforms have had the tm_gmtoff-field at least since Mac OS X 10.0,
as are POSIX.1-2024 conforming systems, which are also required to support
it.

This has the unfortunate effect to use the SunOS/Solaris fallback, which
doesn't compute the correct value if the passed value of tm isn't the
current system time, i.e. localtime(::time()) (#3351).

* Fixed GMT offset test

---------

Co-authored-by: toh <toh@ableton.com>
2025-03-29 13:44:11 +03:00
gabime faa0a7a9c5 Bump fmt to version 11.1.4 2025-03-17 16:56:21 +02:00
Gabi Melman 10320184df Fixed issue #3360 (#3361) 2025-03-17 15:46:31 +02:00
Gabi Melman ac432c3602 Gabime/v1.15.1 (#3332)
* Updated bundled fmt to version 11.1.3

* Bump version to 1.15.1
2025-02-01 12:09:54 +02:00
Janusz Chorko 3c23c27d2d Revert "fix: Compatibility with external fmtlib 11.1.1 (#3312)" (#3331)
This reverts commit 7f8060d5b2.
2025-02-01 11:15:04 +02:00
Ken Matsui ae1de0dc8c Support custom environment variables for load_env_levels (#3327)
SPDLOG_LEVEL is currently supported to control log levels via
load_env_levels.

This patch adds support for other environment variable names, such as
MYAPP_LEVEL, for load_env_levels.
2025-01-23 23:00:23 +02:00
Gabi Melman 7cbf2a6967 Gabime/ansicolor sink improvements (#3323)
* Added lock to set_color_mode in asnicolor_sink

* Added const qualifiers to some ansicolor_sink functions
2025-01-18 11:58:32 +02:00
Alexander 57505989b7 SPDLOG_LEVEL_NAMES, comment use string_view_literals (#3291)
* SPDLOG_LEVEL_NAMES, comment use string_view_literals

* SPDLOG_LEVEL_NAMES, comment use string_view_literals
2025-01-18 11:57:43 +02:00
koniarik ad0f31c009 Enabled bin_to_hex utest for stdformat, fixed std::formatter (#3315)
* Enabled bin_to_hex utest for stdformat, and fixed std::formatter

* fixed usage of \ in macos.yml

* explicitly cast diff variable in test_sink

* moved from ::iterator to decltype

* added fix for custom callbacks

---------

Co-authored-by: Jan Koniarik <veverak@Jans-MacBook-Pro.local>
2025-01-11 17:21:39 +02:00
jdrouhard 96a8f6250c fix: remove unused to_string_view overload in fmt >= 11.1 (#3314) 2025-01-10 00:58:46 +02:00
Christian Blichmann 7f8060d5b2 fix: Compatibility with external fmtlib 11.1.1 (#3312)
Include fmtlib's `xchar` header to include `fmt::basic_format_string`.
Otherwise, compilation with an external fmtlib 11.1.1 fails with

```
In file included from include/spdlog/spdlog.h:12:
include/spdlog/common.h:369:49: error: no template named 'basic_format_string' in namespace 'fmt'; did you mean 'std::basic_format_string'?
  369 | inline fmt::basic_string_view<T> to_string_view(fmt::basic_format_string<T, Args...> fmt) {
      |                                                 ^~~~~
```

Signed-off-by: Christian Blichmann <cblichmann@google.com>
2025-01-08 00:59:12 +02:00
Rui Chen 276ee5f5c0 fix: update to_string_view function for fmt 11.1 (#3301)
Signed-off-by: Rui Chen <rui@chenrui.dev>
2024-12-26 09:13:57 +02:00
Matteo Del Seppia 24dde318fe Adding lock to rotate_now() (#3281) 2024-12-03 09:53:34 +02:00
Matteo Del Seppia 65e388e82b Adding on demand truncation for basic file sinks (#3280)
* Adding support to truncate on demand for basic file sink

* Remove unnecessary file close

* Adding lock in basic_file_sink truncate()
2024-12-03 01:38:51 +02:00
Gabi Melman 1e6250e183 Gabime/fwrite unlocked (#3276)
* Use locking fwrite_unlocked if possible

* Added compile definitions to header_only
2024-12-01 14:16:52 +02:00
hjs-ast 951c5b9987 Allow manual rotation of rotating_file_sink (#3269)
* Allow manual rotation of rotating_file_sink

* Rename rotation method

* Attempted fix for tests on Windows

* Apply review mark-ups
2024-11-28 17:37:29 +02:00
Gabi Melman 15f539685b Update null_sink to be final (#3267) 2024-11-25 00:32:47 +02:00
F1F88 51a0deca2c docs: Removed duplicate line in daily_file_sink comment (#3249) 2024-11-09 21:41:00 +02:00
gabime 8e5613379f Version 1.15.0 2024-11-09 17:01:30 +02:00
captainurist 5673e9e545 utf8_to_wstrbuf now handles invalid utf8 sequences (#3244) 2024-11-05 22:54:01 +02:00
Gabi Melman 85bdab0c18 Update bundled fmt to 11.0.2 (#3236) 2024-11-01 12:04:58 +02:00
Gabi Melman 63d1884215 Gabime/async flush (#3235)
* Revert "Ensure flush callback gets called in move-assign operator (#3232)"

This reverts commit b6da59447f.

* Revert "Exchange promise for condition_variable when flushing (fixes #3221) (#3228)"

This reverts commit 16e0d2e77c.

* Revert PR #3049
2024-11-01 11:26:03 +02:00
Michael de Lang b6da59447f Ensure flush callback gets called in move-assign operator (#3232) 2024-10-30 17:55:45 +02:00
Michael de Lang 16e0d2e77c Exchange promise for condition_variable when flushing (fixes #3221) (#3228)
std::promise and std::future use std::call_once under the hood, which requires
the tls-model to be at least initial_exec, excluding local_exec.

Furthermore, gcc has a bug regarding exceptions in std::call_once that
is best avoided. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146
for more info.

Signed-off-by: Michael de Lang <kingoipo@gmail.com>
2024-10-28 22:38:01 +02:00
hydai e593f6695c Fix warning - extra ';' for -Wextra-semi (#3198)
Signed-off-by: hydai <z54981220@gmail.com>
2024-09-23 15:39:32 +03:00
Gabi Melman 2c76e6101a Fix #3194 - Use Sep instead of Sept for abbreviated month 2024-09-20 13:10:23 +03:00
Gabi Melman c1fbafdcef Update mdc.h (#3185)
Update error message
2024-09-12 22:49:58 +03:00
allen_qfl 362214a349 fix/issue-3101: fix the issue where mdc ignores SPDLOG_NO_TLS (#3184)
Co-authored-by: dyf <yufeng.duan@senscape.com.cn>
2024-09-12 22:27:25 +03:00
Leslie 2169a6f6ae use std::lock_guard instead of std::unique_lock (#3179) 2024-09-11 22:18:51 +03:00
Rasmus 271f0f3b14 Add info about max_files in the docstrings of hourly/daily file sinks (#3170) 2024-09-09 16:54:03 +03:00
Eugene Smirnov a3a0c9d663 compilation error gcc 8.5 with [-Werror=suggest-override] (#3158) 2024-08-27 04:04:04 +03:00
Alex Overchenko 885b5473e2 Fix building with FMT_ENFORCE_COMPILE_STRING (#3137) 2024-07-16 20:41:21 +03:00
Philippe Vaucher eeb22c13bb Allow customization of syslog_sink (#3124)
Thanks @Silex
2024-07-03 22:51:11 +03:00
Dominik Grabiec c3aed4b683 Add wide character formatting and output support to wincolor_sink. (#3092)
Fixes printing of unicode characters to the windows console such as microsecond suffix for std::chrono types.
2024-05-22 00:20:17 +03:00
gabime 3b4fd93bd0 Updated comment about mdc 2024-04-30 12:56:35 +03:00
gabime 2122eb2194 Update spdlog version to 1.14.1 2024-04-30 12:50:45 +03:00
gabime 22b0f4fc06 Clang format 2024-04-30 12:28:13 +03:00