Commit Graph

1077 Commits

Author SHA1 Message Date
Gabi Melman
63d1884215
Gabime/async flush (#3235)
Some checks are pending
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Debug compiler:clang cppstd:17 version:12]) (push) Waiting to run
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Release compiler:clang cppstd:20 version:15]) (push) Waiting to run
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Debug compiler:gcc cppstd:20 version:11]) (push) Waiting to run
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:11 version:7]) (push) Waiting to run
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:17 version:9]) (push) Waiting to run
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:20 version:12]) (push) Waiting to run
ci / OS X Clang (C++11, Release) (push) Waiting to run
* 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)
Some checks failed
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Debug compiler:clang cppstd:17 version:12]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Release compiler:clang cppstd:20 version:15]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Debug compiler:gcc cppstd:20 version:11]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:11 version:7]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:17 version:9]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:20 version:12]) (push) Has been cancelled
ci / OS X Clang (C++11, Release) (push) Has been cancelled
2024-10-30 17:55:45 +02:00
Michael de Lang
16e0d2e77c
Exchange promise for condition_variable when flushing (fixes #3221) (#3228)
Some checks failed
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Debug compiler:clang cppstd:17 version:12]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[asan:OFF build_type:Release compiler:clang cppstd:20 version:15]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Debug compiler:gcc cppstd:20 version:11]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:11 version:7]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:17 version:9]) (push) Has been cancelled
ci / ${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }}) (map[build_type:Release compiler:gcc cppstd:20 version:12]) (push) Has been cancelled
ci / OS X Clang (C++11, Release) (push) Has been cancelled
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
Leslie
2169a6f6ae
use std::lock_guard instead of std::unique_lock (#3179) 2024-09-11 22:18:51 +03:00
gabime
22b0f4fc06 Clang format 2024-04-30 12:28:13 +03:00
Gabi Melman
37b847692e Revert pr #3023 (std::string_view overloads for logger accessor for c++17) 2024-04-30 12:13:00 +03:00
gabime
94a8e87c71 Fix #3079 2024-04-29 19:46:59 +03:00
gabime
3b4c775b5b Update comment about set_default_logger 2024-04-26 01:40:26 +03:00
gabime
3403f27898 Don't remove previous defaullt logger from registry in set_default_logger. Fix #3016 2024-04-26 01:32:10 +03:00
Yubin
6725584e27
Make async_logger::flush() synchronous and wait for the flush to complete (#3049) 2024-03-23 15:52:32 +02:00
Tomas-Zhu
73e2e02b42
Fix #3038 (#3044)
* Fix #3038

* Fix #3038 again

---------

Co-authored-by: Tomas-Zhu <z773922114@gmail.com>
2024-03-21 12:16:11 +02:00
gabime
23587b0d9a Fixed regisry-inl.h 2024-03-17 01:20:26 +02:00
gabime
819eb27c5d Use find if registry is bigger than 10 in registry::get(std::string_view logger_name) 2024-03-17 00:30:05 +02:00
gabime
4052bc0621 Use find if registry is bigger than 20 in registry::get(std::string_view logger_name) 2024-03-17 00:27:43 +02:00
magnus-nomono
ae525b75c3
Add missing include (#3026) 2024-03-10 02:10:32 +02:00
Leadbelly
5532231bbc
feature: adds string view overloads for logger accessor (#3023)
Co-authored-by: Ben Leadbetter <ben.leadbetter@native-instruments.com>
2024-02-29 10:53:56 +02:00
Gabi Melman
134f9194bb
Update registry.h code formatting 2024-02-14 21:52:21 +02:00
cohdan
fe79bfcc51
Expose the flusher thread object to user in order to allow setting of thread name and thread affinity when needed (#3009)
* Expose the flusher thread object to user in order to allow setting of thread name and thread affinity when needed

* Code review fix - periodic_worker thread getter should return a reference and not a pointer
2024-02-14 21:48:44 +02:00
liubing
8979f7fb2a
Also use _stat() on Windows to be more UTF8 friendly (#2978)
* Also use _stat() on Windows to be more UTF8 friendly

* Cosmetic changes
2024-01-13 23:46:18 +02:00
gabime
2aa8b6c971 Check fd_ is not nullptr in file_helper 2024-01-12 12:10:26 +02:00
Peter Nemeth
479a5ac3f1
Fix OS availability check of pthread_threadid_np for iOS (#2897) 2023-10-11 10:34:42 +03:00
gabime
e5865186d4 Revert "Added a function to add callbacks that are called when a logger is registered (#2883)"
This reverts commit b6eeb7364c, since it causes deadlocks too easily for the users.
2023-09-25 20:53:45 +03:00
Jonathan Vannier
b6eeb7364c
Added a function to add callbacks that are called when a logger is registered (#2883)
* Added a function to add callbacks that are called when a logger is registered

* Fix non captured registration 2 not being properly tested for

* Replace std::list by std::vector

* Remove const refs to shared pointers

* Fix missing header
2023-09-25 18:49:04 +03:00
gabime
0a53eafe18 update clang format again 2023-09-25 16:40:36 +03:00
gabime
4b2a8219d5 reformat code 2023-09-25 16:20:42 +03:00
gabime
9d52261185 clang format 2023-09-25 16:08:29 +03:00
gabime
95c226e9c9 format 2023-09-25 05:05:25 +03:00
Gabi Melman
5931a3d6f8 Fixed windows compile 2023-09-25 04:58:45 +03:00
gabime
1a0bfc7a89 clang format 2023-09-25 02:44:07 +03:00
Yubin
b5b5043d42
Support async_overflow_policy::discard_new (#2876)
Reason for the discard_new policy: when there is an overflow, there
is usually some unexpected issue (a bug, or some other unexpected stuff).
And in case of unexpected issue, the first arrived log messages are usually
more important than subsequent ones. For example, some application
keep logging error messages in case of functionality failure, which,
when using async_overflow_policy::overrun_oldest, will overrun the
first arrived messages that may contain real reason for the failure.
2023-09-09 23:05:08 +03:00
gabime
bffceb90b0 Fixed circular_q size impl and added tests 2023-08-05 17:03:04 +03:00
Gabi Melman
d8d23a6606
Fix #2820 2023-07-21 00:37:03 +03:00
gabime
169f827957 Added missing include to udp_client.h 2023-07-02 21:19:41 +03:00
Simon-Janos
5ece88e5a8
Removing IPv4 limitation from tcp_client (#2790) 2023-06-30 20:08:22 +03:00
gabime
1f61f5e019 clang format 2023-06-07 13:23:44 +03:00
Sergey Fedorov
c65aa4e488
os-inl.h: fix for missing pthread_threadid_np (#2715) 2023-04-23 11:09:41 +03:00
Gabi Melman
e539d6ae42
Update registry-inl.h fix #2691 2023-04-23 03:21:17 +03:00
Gabi Melman
262acfdeb5
Update os-inl.h 2023-02-25 19:52:27 +02:00
Gabi Melman
a4d8817745
move include cassert 2023-02-25 17:30:39 +02:00
Gabi Melman
66407f5b48
Better handling of utf to wchar 2023-02-25 17:02:50 +02:00
afshinpir
51bcff820e
Added apply_logger_env_levels (#2649)
This method applies levels which is set by environment variable
`SPDLOG_LEVEL` to the a single controller. Usefull for loading
configuration into manually created loggers.
2023-02-25 12:07:33 +02:00
Zeus James
da14258533
Fix MinGW build issue on example (#2642)
* Fix MinGW build issue on example #2638

* Move the cmake change to example\CMakeLists.txt

* Update CMakeLists.txt on the example
2023-02-12 10:34:22 +02:00
Gabi Melman
654dbc5c32
Update os.h 2023-01-15 16:00:26 +02:00
Gabi Melman
78e86ba01f
Update os-inl.h 2023-01-15 15:59:41 +02:00
Gabi Melman
435827fe5a
Update os.h 2023-01-15 15:57:08 +02:00
espkk
f29f369a12
Add sync to file_helper (#2343) 2023-01-15 15:33:40 +02:00
albert-github
5a63426d1c
Spelling corrections (#2606)
Spelling corrections v1.x
2023-01-15 13:41:30 +02:00
Ivan Grokhotkov
85a009ad64
Support newlib C library configurations without tm_gmtoff field (#2600)
Newlib C library (https://sourceware.org/newlib/) has a configuration
option to add tm_gmtoff field to the tm structure. Not all the
platforms supported by newlib enable this option, and spdlog doesn't
compile on such platforms due to missing tm_gmtoff field.

Fix this by checking for `__NEWLIB__` and `__TM_GMTOFF` and enabling
calculate_gmt_offset.
2023-01-10 00:12:03 +01:00
Khem Raj
287a00d364
Do not use LFS64 functions on linux/musl (#2589)
On musl, off_t is 64bit always ( even on 32bit platforms ), therefore
using LFS64 funcitons is not needed on such platforms. Moreover, musl
has stopped providing aliases for these functions [1] which means it
wont compile on newer musl systems. Therefore only use it on 32bit
glibc/linux platforms and exclude musl like cygwin or OSX

[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-03 19:54:50 +02:00
Vasiliy Kulikov
3c93f7690a
fix build: fix for freebsd (#2590)
The build error was:
  include/spdlog/details/tcp_client.h:106:31: error: use of undeclared identifier 'IPPROTO_TCP'
2022-12-31 23:52:46 +02:00