Commit Graph

1077 Commits (bff1a6036aff4c71bdd38cac0bf1d6c42432c29a)

Author SHA1 Message Date
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
10 months ago
Michael de Lang b6da59447f
Ensure flush callback gets called in move-assign operator (#3232) 10 months ago
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>
10 months ago
Leslie 2169a6f6ae
use std::lock_guard instead of std::unique_lock (#3179) 12 months ago
gabime 22b0f4fc06 Clang format 1 year ago
Gabi Melman 37b847692e Revert pr #3023 (std::string_view overloads for logger accessor for c++17) 1 year ago
gabime 94a8e87c71 Fix #3079 1 year ago
gabime 3b4c775b5b Update comment about set_default_logger 1 year ago
gabime 3403f27898 Don't remove previous defaullt logger from registry in set_default_logger. Fix #3016 1 year ago
Yubin 6725584e27
Make async_logger::flush() synchronous and wait for the flush to complete (#3049) 1 year ago
Tomas-Zhu 73e2e02b42
Fix #3038 (#3044)
* Fix #3038

* Fix #3038 again

---------

Co-authored-by: Tomas-Zhu <z773922114@gmail.com>
1 year ago
gabime 23587b0d9a Fixed regisry-inl.h 1 year ago
gabime 819eb27c5d Use find if registry is bigger than 10 in registry::get(std::string_view logger_name) 1 year ago
gabime 4052bc0621 Use find if registry is bigger than 20 in registry::get(std::string_view logger_name) 1 year ago
magnus-nomono ae525b75c3
Add missing include (#3026) 1 year ago
Leadbelly 5532231bbc
feature: adds string view overloads for logger accessor (#3023)
Co-authored-by: Ben Leadbetter <ben.leadbetter@native-instruments.com>
2 years ago
Gabi Melman 134f9194bb
Update registry.h code formatting 2 years ago
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
2 years ago
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
2 years ago
gabime 2aa8b6c971 Check fd_ is not nullptr in file_helper 2 years ago
Peter Nemeth 479a5ac3f1
Fix OS availability check of pthread_threadid_np for iOS (#2897) 2 years ago
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.
2 years ago
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
2 years ago
gabime 0a53eafe18 update clang format again 2 years ago
gabime 4b2a8219d5 reformat code 2 years ago
gabime 9d52261185 clang format 2 years ago
gabime 95c226e9c9 format 2 years ago
Gabi Melman 5931a3d6f8 Fixed windows compile 2 years ago
gabime 1a0bfc7a89 clang format 2 years ago
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.
2 years ago
gabime bffceb90b0 Fixed circular_q size impl and added tests 2 years ago
Gabi Melman d8d23a6606
Fix #2820 2 years ago
gabime 169f827957 Added missing include to udp_client.h 2 years ago
Simon-Janos 5ece88e5a8
Removing IPv4 limitation from tcp_client (#2790) 2 years ago
gabime 1f61f5e019 clang format 2 years ago
Sergey Fedorov c65aa4e488
os-inl.h: fix for missing pthread_threadid_np (#2715) 2 years ago
Gabi Melman e539d6ae42
Update registry-inl.h fix #2691 2 years ago
Gabi Melman 262acfdeb5
Update os-inl.h 3 years ago
Gabi Melman a4d8817745
move include cassert 3 years ago
Gabi Melman 66407f5b48
Better handling of utf to wchar 3 years ago
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.
3 years ago
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
3 years ago
Gabi Melman 654dbc5c32
Update os.h 3 years ago
Gabi Melman 78e86ba01f
Update os-inl.h 3 years ago
Gabi Melman 435827fe5a
Update os.h 3 years ago
espkk f29f369a12
Add sync to file_helper (#2343) 3 years ago
albert-github 5a63426d1c
Spelling corrections (#2606)
Spelling corrections v1.x
3 years ago
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.
3 years ago
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>
3 years ago
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'
3 years ago