Commit Graph

2406 Commits

Author SHA1 Message Date
Niram7777
45b67eee66 Add constructor for dup_filter_sink with sinks parameter (#3549)
* Add constructor for dup_filter_sink with sinks parameter

* dup_filter_sink switch order construction
2026-03-14 23:23:06 +02:00
Ömer BULUT
1fbc60a5e7 docs: fix SPDLOG_LEVEL env example (#3561)
Co-authored-by: Omer Bulut <omer.bulut@asisguard.com.tr>
2026-03-14 23:18:51 +02:00
Yancey
d5af52d903 Fix format_string propagation (#3543) 2026-02-23 17:16:21 +02:00
Yancey
1685e694c5 Fix deprecated copy constructor usage of fmt::format_string (#3541)
* Fix deprecated copy constructor usage of fmt::format_string

* Fix copy constructor usage of fmt::wformat_string_t

* Fix usage of std::basic_format_string

* remove spdlog::to_string_view()
2026-02-23 02:10:25 +02:00
Gabi Melman
fc7e9c8721 Update common-inl.h
Added missing include
2026-02-09 21:59:45 +02:00
SamareshSingh
566b2d1404 Fix #3525: Make level name matching case-insensitive (#3535)
Modified from_str() to perform case-insensitive comparison for all level names.
This allows environment variables and SPDLOG_LEVEL_NAMES to use uppercase or
mixed case level names (e.g., DEBUG, INFO, Warning) while maintaining full
backward compatibility with existing lowercase names.
2026-02-09 21:58:20 +02:00
Eli Boyarski
6c5d63291a Fix should_log comment (#3534) 2026-02-09 21:54:24 +02:00
Kağan Can Şit
687226d95d The upd_sink and dist_sink files have been modified to address Passed by value warnings. (#3520) 2026-01-12 09:21:17 +02:00
Kağan Can Şit
f2a9dec029 Fix function arguments names different warnings (#3519)
* helpers-inl.h - load_levels function arguments names different style warning fixed

* async_logger-inl.h - backend_sink_it_ function arguments names different style warning fixed

* spdlog-inl.g - should_log function arguments names different style warning fixed
2026-01-11 21:56:46 +02:00
Kağan Can Şit
309204d53c Rename local variables to avoid shadowing member functions (#3516) 2026-01-11 00:05:14 +02:00
Kağan Can Şit
1774e70082 Add const qualifier to get_time_ and filter_ member functions (#3515) 2026-01-10 23:33:43 +02:00
Kağan Can Şit
d299603e45 Add missing const qualifiers to reference variables (#3514) 2026-01-10 20:07:34 +02:00
Kağan Can Şit
33375433e0 fix: initialize null_atomic_int::value to zero (#3513) 2026-01-09 23:31:01 +02:00
Kağan Can Şit
6b240a892d Replace C-style cast with reinterpret_cast in udp_client (#3509)
* Replace C-style cast with reinterpret_cast in udp_Client

* Update include/spdlog/details/udp_client.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Gabi Melman <gmelman1@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-04 21:45:53 +02:00
gabime
79524ddd08 spdlog version 1.17.0 2026-01-04 18:06:01 +02:00
Gabi Melman
b656d1ceec Windows utc_minutes_offset(): Fix historical DST accuracy and improve offset calculation speed (~2.5x) (#3508)
* New utc offset impl for windows and unit tests

* Update utc_minutes_offset()

* Fix warning

* Fix warning

* Fix timezone tests

* Fix timezone tests

* Update tests/test_pattern_formatter.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update tests/CMakeLists.txt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Updated utc_minutes_offset() impl

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-04 18:01:55 +02:00
gabime
2670f47d02 Fix warning 2026-01-03 17:13:01 +02:00
gabime
09a674b7fc Fix %z when pattern_type_type is utc - should be +00:00 2026-01-03 11:31:34 +02:00
ZaneWong
32dd298dc2 Docs: fix misleading comment in blocking_queue header (#3504) 2025-12-23 19:15:04 +02:00
maordadush
d2100d5d0e Fix: include <fcntl.h> in tcp_client.h to avoid compilation failures on Unix (#3497) 2025-12-15 09:46:34 +02:00
gabime
2c1eafc884 Backport warning fix from fmt head 2025-11-30 11:16:28 +02:00
gabime
ea3e747eea Bump fmt to 12.1.0 2025-11-28 19:00:23 +02:00
gabime
b3688ba102 Set IndentPPDirectives to "None" on clang-format 2025-11-28 18:41:08 +02:00
Gabi Melman
6004e3d14a Fix issue #3483 (#3491)
Fix issue #3483
2025-11-28 18:20:28 +02:00
Jérémie Dumas
8806ca6509 Fix UWP detection. (#3489)
* Fix UWP detection.

* Fix conditional compilation for getenv function

---------

Co-authored-by: Jérémie Dumas <jedumas@adobe.com>
2025-11-17 22:34:37 +02:00
SamareshSingh
cdbd64e230 Fix sign conversion warnings in qt_sinks.h (#3487)
Add static_cast to fix compiler warnings when building with
-Werror=sign-conversion and -Werror=shorten-64-to-32:

1. Cast msg.color_range_start/end to qsizetype when passing to
   QString::fromUtf8(), since QString expects signed qsizetype but
   the message fields are size_t (unsigned).

2. Cast msg.level to size_t when indexing into colors_ array, since
   level_enum is a signed int but array indexing expects size_t.

These casts are safe because:
- qsizetype is guaranteed to be the same size as size_t per Qt docs
- color_range values come from valid string positions
- level values are from a small enum range

Fixes #3321
2025-11-14 01:44:43 +02:00
fab4100
88a0e07ad5 Change access scope for ANSI target_file_ from private to protected (#3486)
This change allows for a custom minimal ANSI color sink implementation
that supports, for example, splitting between `stdout` and `stderr` file
streams depending on the log level.  An example application specific
custom sink that realizes this behavior would look like:

```cpp
template <typename ConsoleMutex>
class SplitSink : public sinks::ansicolor_sink<ConsoleMutex>
{
    using Base = sinks::ansicolor_sink<ConsoleMutex>;

public:
    SplitSink(color_mode mode = color_mode::automatic) : Base(stdout, mode) {}

    void log(const details::log_msg &msg) override
    {
        if (msg.level <= SPDLOG_LEVEL_WARN) {
            this->target_file_ = stdout;
        } else {
            this->target_file_ = stderr;
        }
        Base::log(msg);
    }
};
```

Inspired by https://github.com/gabime/spdlog/issues/345 and
https://github.com/eic/EICrecon/issues/456.  This commit aims at reusing
all of the `ansicolor_sink` code with the exception of dynamic target
file selection that can be implemented in application code based on
example above.

Co-authored-by: Fabian Wermelinger <info@0xfab.ch>
2025-11-09 19:38:28 +02:00
Aleksandr
3f7e502859 fix sign-compare warning (#3479) 2025-11-01 18:03:07 +02:00
gabime
486b55554f Version 1.16.0 2025-10-11 15:53:05 +03:00
gabime
1bea38edcc clang-format 2025-10-11 15:50:16 +03:00
gabime
4418909af2 Bump fmt to 12.0.0 2025-10-11 15:18:15 +03:00
Angelio Mason
f1d748e5e3 Remove the fileapi.h include in os-inl.h (#3444)
* Replaced fileapi.h include with windows.h, as instructed in https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-flushfilebuffers
Otherwise this causes compilation error on older sdks.

* Removed the fileapi.h include entirely, since windows.h is already included before

---------

Co-authored-by: MasonAngelio <MasonAngelio>
2025-08-07 23:47:11 +03:00
Mihir Patel
9ecdf5c8a1 Added timeout for TCP calls such as connect, send, recv (#3432)
* Now lets test on windows

* I guess testing on windows passes.

* Update tcp_client-windows.h

Added default value to argument

* Final edit

* Update tcp_client-windows.h

Changed improper misplaced includes.
2025-07-17 23:47:35 +03:00
Gabi Melman
a6215527f4 Fix ringbuffer tests for newline (#3436) 2025-07-06 08:38:48 +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