Commit Graph

2341 Commits

Author SHA1 Message Date
gabime
7c054b6dba Inlined sink_it_ 2023-09-22 18:24:45 +03:00
gabime
54d402e094 Fixed tidy warning 2023-09-22 18:24:45 +03:00
gabime
6a53d6354b minor cleanup 2023-09-22 18:24:45 +03:00
gabime
a38add8456 Removed SPDLOG_NO_TLS and updated cmake 2023-09-22 18:24:45 +03:00
gabime
e1ee0c62a7 Replaced SPDLOG_CONSTEXPR and SPDLOG_NOEXCEPT macros with c++20 keywords 2023-09-22 18:24:45 +03:00
gabime
d7db2cf3aa Added some [[nodiscard]] annotations 2023-09-22 18:24:45 +03:00
gabime
6cac90b89a clang format 2023-09-22 18:24:45 +03:00
gabime
2ecc00e9c6 Simplified code 2023-09-22 18:24:45 +03:00
gabime
92daf6954b Removed backtrace feature 2023-09-22 18:24:45 +03:00
gabime
d94830814f Removed SPDLOG_WCHAR_TO_UTF8_SUPPORT 2023-09-22 18:24:45 +03:00
gabime
f530b2dbaa Upaded major ver to 2.0.0 2023-09-22 18:24:45 +03:00
gabime
213b2c0151 Bumped spdlog version to 1.12.0 2023-09-22 18:24:45 +03:00
gabime
27c518d509 Updated bundled fmt to version 10.0.0 2023-09-22 18:24:45 +03:00
gabime
ea6d8fde1d Upaded major ver to 2.0.0 2023-09-22 18:24:45 +03:00
Gabi Melman
b9cb721b92
Update async_logger-inl.h 2023-09-22 02:42:37 +03:00
Gabi Melman
1d6dbc2a56
Fix code formatting of async_logger-inl.h 2023-09-22 02:42:00 +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
d109e1dcd0 minor cleanup 2023-09-09 13:32:44 +03:00
gabime
a98d3ab0c7 clang format 2023-09-09 12:56:47 +03:00
neothenil
8014d6c31a
Fix encoding issue in qt_sinks (#2862)
Added support for utf8 in qt_color_sink
2023-09-09 12:52:10 +03:00
mike
cedfeeb95f
Add SPDLOG_TO_VERSION to compare spdlog version (#2853)
You can use SPDLOG_VERSION to select the latest spdlog features
where available while falling back to older implementations otherwise.
Using SPDLOG_TO_VERSION() for the value to compare with is recommended.
for Example:
```c++
 void sink_it_(const details::log_msg &msg) override
 {
 #if SPDLOG_VERSION < SPDLOG_TO_VERSION(1,4,0)
     fmt::memory_buffer formatted;
 #else
     memory_buf_t formatted;
 #endif
     sinks::base_sink<Mutex>::formatter_->format(msg, formatted);
     // bala bala...
 }
```
2023-08-14 08:19:02 +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
qwark
76dfc7e7c0
Qt Sink : Allow for darker colors (for light background). (#2817)
Default are too bright if background is light(white).
2023-07-14 20:21:25 +03:00
gabime
bed324e414 Formatted qt_sinks.h code 2023-07-08 15:27:16 +03:00
gabime
72a7ec3eb9 Bumped spdlog version to 1.12.0 2023-07-08 15:25:17 +03:00
gabime
4338b9cd23 Revert "Updated bundled fmt to version 10.0.0"
This reverts commit 62e55e7a7f.
2023-07-08 13:23:40 +03:00
Lucas Rangit MAGASWERAN
01b3724c48
sinks: android: handle when message is not loggable (#2801)
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)]
```
2023-07-07 00:24:06 +03:00
gabime
4b8ff51a29 Added const to put_newline() in bin_to_hex.h 2023-07-04 18:00:20 +03:00
Gabi Melman
8b8bc20f30
Added const qualifier to bin_hex_formatter to support c++20 2023-07-04 17:53:04 +03:00
gabime
3cd06a3d40 Added const qualifier to stopwatch formatter to support c++20 2023-07-04 16:04:49 +03:00
gabime
169f827957 Added missing include to udp_client.h 2023-07-02 21:19:41 +03:00
gabime
62e55e7a7f Updated bundled fmt to version 10.0.0 2023-07-02 20:47:33 +03:00
gabime
b85c509ec6 Fixed clang warning in qt_sinks.h 2023-07-02 17:52:55 +03:00
gabime
b1eb4953fa Cleaned some warnings in qt_sinks 2023-07-02 17:52:55 +03:00
Simon-Janos
5ece88e5a8
Removing IPv4 limitation from tcp_client (#2790) 2023-06-30 20:08:22 +03:00
Jiang Y
326f8870c2
Update qt_sinks.h: narrow cast msg.color_range_start, msg.color_range_end (#2781) 2023-06-28 08:32:12 +03:00
gabime
da1e671d42 Clean qt_color_sink 2023-06-17 18:09:08 +03:00
gabime
9ce7295191 Make max_line explicit for qt_color_sink 2023-06-17 16:58:40 +03:00
gabime
ca44ce50ab Cleaned qt_color_sink 2023-06-17 16:40:46 +03:00
gabime
91280df07e wip color_qt_sink 2023-06-17 15:07:00 +03:00
Gabi Melman
4f4da7f114
Revert qt_sinks changes and color support, since they are not thread safe 2023-06-10 02:50:19 +03:00
Gabi Melman
199cc0a6d8
Update qt_sinks.h 2023-06-09 12:59:41 +03:00
Gabi Melman
4fb4e2bd86
Update qt_sinks.h 2023-06-09 12:44:54 +03:00
Gabi Melman
c17b5d9cd1
Update qt_sinks.h 2023-06-09 12:41:36 +03:00
Gabi Melman
3a7188505f
Added lock to qt_color_sink 2023-06-08 01:12:25 +03:00
gabime
1f61f5e019 clang format 2023-06-07 13:23:44 +03:00
gabime
31cefdce79 Use at() in ansicolor_sink 2023-06-07 13:21:40 +03:00
gabime
95b8ee9b32 Remove comment in qt_sinks.h 2023-06-07 13:11:37 +03:00
gabime
d7985e3965 Update comment about qt_color_sink 2023-06-07 13:07:21 +03:00
gabime
dfcb74b129 Added default color handling to qt_color_sink 2023-06-07 12:51:07 +03:00
gabime
6a96c7f902 Added qt_color_sink 2023-06-07 11:45:51 +03:00
gabime
6940f4fd46 Added some comments to qt_sinks.h 2023-06-07 00:29:23 +03:00
gabime
1f1897e3a4 Clean qt_sink code 2023-06-07 00:21:58 +03:00
gabime
0f50ad92d6 Clean qt_sink code 2023-06-07 00:21:44 +03:00
gabime
5384512f25 Store MetaMethod object in qt_sink for better performance 2023-06-07 00:19:40 +03:00
gabime
230cad163d Fixed qt_sink 2023-06-06 20:24:03 +03:00
Gabi Melman
3a6ee663ba
Update qt_sinks.h 2023-06-06 20:06:45 +03:00
Gabi Melman
931cd2fb54
Update qt_sinks.h 2023-06-06 19:58:26 +03:00
Gabi Melman
8fdcf0365b
Update qt_sinks.h 2023-06-06 19:57:09 +03:00
Ulmo-F
32701af60b
qt_sink: add some warning on its usage (#2753)
* 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>
2023-06-06 19:53:10 +03:00
Gabi Melman
31cf79a70d
Remov foreward to standard vformat_to 2023-05-30 20:38:30 +03:00
Eli Boyarski
62a4b8ce4e
Fix fmt build (#2744) 2023-05-27 22:28:22 +03:00
gabime
ea1af20840 Update error message in default error handler 2023-05-27 15:34:33 +03:00
gabime
1fba68bfe2 Catch exceptions from async logger. Fix #2618 2023-05-27 15:33:02 +03:00
Gabi Melman
dd173bc544
Update daily_file_sink.h 2023-05-19 19:58:45 +03:00
Gabi Melman
fcc8a95a95
Update daily_file_sink.h 2023-05-19 19:56:11 +03:00
Gabi Melman
9fcf609b67
Update daily_file_sink.h 2023-05-19 19:54:47 +03:00
Bernd Ritter
af1785b897
Removes special format handling for fmt. (#2736)
* 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
2023-05-19 19:51:02 +03:00
James Ruan
e4f92bed48
fix ringbuffer_sink moving warning (#2722) 2023-04-28 18:59:35 +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
H1X4
0ca574ae16
fix build for master fmt (non-bundled) (#2694)
* fix build for master fmt (non-bundled)

* update fmt_runtime_string macro

* fix build of updated macro
2023-03-31 20:39:32 +03:00
SCC/楊志璿
42d1f40a18
Fix stdout_sink_base::log's behavior inconsistency (#2646)
* 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>
2023-03-23 10:24:48 +02:00
Luis Angerstein
1262a249a6
Fix os namespace in systemd_sink.h (#2668)
* Fix os namespace in systemd_sink.h

* Remove spdlog:: prefix from os::thread_id() call
2023-03-09 12:55:34 +02:00
Gabi Melman
2d57e3b57e
Update and rename kafka_skin.h to kafka_sink.h 2023-03-05 00:22:57 +02:00
听风
b25aaecf6a
feat(kafka_skin.h): kafka log support (#2655)
* feat(kafka_skin.h): kafka log support

add kafka log support

* refactor(kafka_skin.h): remove producer_  check

remove producer_  check
2023-03-03 05:04:47 +02: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
璀境石
4641347c3f
msvc_sink: support utf8 (#2651)
* msvc_sink: support utf8
2023-02-25 16:21:24 +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
Charles Hardin
7372596126
Add optional TID definition to the systemd sink send (#2619)
From the systemd.journal-fields the TID is a user defined
field passed directly from the clients and stored in the
journal. Adding the arguement in the journal send to support
that storage option in the journal.
2023-02-25 01:33:37 +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
Li Z
927cc29444
Fix unexpected delimiter at start of line in to_hex formatter (#2627) 2023-02-01 12:04:30 +02:00
Mohammad Ali
3cab260814
Add a trivial callback sink (#2610)
Add a trivial callback sink
2023-01-19 19:46:34 +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
Robin Lindén
6df64c6c34
Fix -Wshadow warnings in spdlog::sinks::dist_sink (#2599)
This is similar to fbba6dff20 but fixes a
few member functions missed in that commit.
2023-01-10 00:25:26 +01:00
Arnar Bjarni Arnarson
0b9ff5210a
Fix type of event id in win_eventlog_sink (#2598)
Co-authored-by: Arnar Bjarni Arnarson <arnar@menandmice.com>
2023-01-10 00:25:01 +01: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
Alok Priyadarshi
a4e9917575
feat(mpmc_blocking_q): add blocking dequeue without timeout (#2588)
Use the new blocking dequeue to avoid unnecessarily waking up the
thread pool every 10s.

Fixes #2587 by replacing std::condition_variable::wait_for with
std::condition_variable::wait as a workaroung for gcc 11.3 issue 101978.

Co-authored-by: Alok Priyadarshi <alokp@dexterity.ai>
2022-12-30 15:20:10 +02:00
NaDDu
ff88b13c35
Fixed variable name (#2573)
* fixed variable name

* Changed the variable name from check_debbugger_present_ to check_debugger_present_.

Co-authored-by: cpp <c.pp@navercorp.com>
2022-12-10 00:28:28 +02:00
György Katona
8512000f36
Unnecessary backtrace begin/end logs (#2568)
* add empty getter function to tracer

* add unit test to check empty tracer

Co-authored-by: Gyorgy Katona <gykatona@logmein.com>
2022-12-09 10:25:17 +02:00
zydxhs
f0cd9d1530
dup_filter_sink adds parameters to enable setting the level of skipped logs (#2563)
* dup_filter_sink adds parameters to enable setting the level of skipped logs

* rename the param name 'level' to 'notification_level'

Co-authored-by: zhuyadong <zhuyadong@kedacom.com>
2022-12-02 09:51:34 +02:00