Commit Graph

3162 Commits

Author SHA1 Message Date
Václav Šmilauer
bad7284465 Fix cicular_q::size() 2019-11-09 09:30:27 +01:00
Václav Šmilauer
6f0cb6365e Move ringbuffer_sink to spdlog::details::circular_q, enhance its API: size(), at(i) 2019-11-08 19:25:31 +01:00
gabime
653ec05c0e Updated .clang-tidy with more checks 2019-11-08 16:42:16 +02:00
gabime
be2a751513 Fixed clang-tidy warning in example 2019-11-08 16:35:18 +02:00
gabime
840adfbbcf Added performance chacks tp .clang-tidy 2019-11-08 16:32:57 +02:00
Václav Šmilauer
acf32be842 Add ringbuffer sink (requires boost::circular_buffer)
Ringbuffer sink keeps user-given number of most recent log messages in
memory and returns them upon request (using the ringbuffer_sink::last
method). This can be useful for e.g. remote debugging of a running app.
2019-11-08 15:29:20 +01:00
gabime
3999613eca Added performance chacks tp .clang-tidy 2019-11-08 16:27:08 +02:00
gabime
bff85725d2 Fixed some more clang-tidy warnings 2019-11-08 16:20:41 +02:00
gabime
93008b2369 Fix clang-tidy warning about non existing move 2019-11-08 15:31:33 +02:00
gabime
be336e7514 Added noexcept to log_msg move constructor 2019-11-08 15:21:18 +02:00
gabime
255f7f2dee Optimze backtracer operator= 2019-11-08 15:09:57 +02:00
gabime
de2c07ac62 always cache gmt offset 2019-11-08 14:37:52 +02:00
gabime
844d54d7e6 Fix #1302 2019-11-08 14:27:05 +02:00
gabime
ff3e6c7248 Fix issue #1306 2019-11-08 14:08:31 +02:00
Gabi Melman
408a2229d6
Merge pull request #1304 from RedDwarf69/include_path
"#include" <spdlog/.*> instead of "spdlog/.*"
2019-11-06 22:27:56 +02:00
Cristian Morales Vega
7cdd65075c "#include" <spdlog/.*> instead of "spdlog/.*"
The meaning of using quotes to #include is implementation defined, so it
may or not may be what we want. At least POSIX
(https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html)
says: "headers whose names are enclosed in double-quotes ( "" ) shall be
searched for first in the directory of the file with the #include line",
so not what we want since "spdlog" ends up twice in the path.
2019-11-06 19:15:29 +00:00
gabime
436ce16e79 Updated meson tests build 2019-11-05 00:31:36 +02:00
gabime
58320e2678 Updated meson build options 2019-11-05 00:22:30 +02:00
gabime
a6f7edf94b Updated meson build options 2019-11-05 00:16:45 +02:00
gabime
4a4f13be46 Updated meson build 2019-11-04 23:38:31 +02:00
gabime
a13b0abb7d Simplify meson for tests 2019-11-04 23:29:05 +02:00
gabime
c081919320 Enabled tests under meson by default 2019-11-04 23:19:02 +02:00
gabime
21f7f78130 Update tests CMakeLists.txt 2019-11-04 23:16:44 +02:00
gabime
bb1b24c178 Fixed #1295 2019-11-04 23:16:21 +02:00
gabime
3f30000088 comment 2019-11-04 17:51:57 +02:00
gabime
e6ce39f76e comment 2019-11-04 17:46:59 +02:00
gabime
10116b7717 Removed SPDLOG_NO_DATETIME option 2019-11-04 17:43:30 +02:00
gabime
18edb8bd63 Added tweakme options to CMakeLists.txt 2019-11-04 17:19:18 +02:00
gabime
dae1aeb1f7 clang-format 2019-11-04 16:48:54 +02:00
gabime
57085c892f exclude from compilation prevent_child_fd() if SPDLOG_PREVENT_CHILD_FD not defined 2019-11-04 16:42:58 +02:00
Gabi Melman
d67efb2cab
Merge pull request #1296 from sylveon/patch-1
Correctly guard SetHandleInformation API call
2019-11-04 10:58:14 +02:00
Charles Milette
0e09ecbaa5
Correctly guard SetHandleInformation API call
`__cplusplus_winrt` only detected C++/CX (which can be used without compiling for UWP, SetHandleInformation would be available in those cases), and did not detect native UWP C++. This patch fixes that by using the WINAPI_FAMILY_PARTITION macro in the Windows SDK headers in the same way those headers remove SetHandleInformation in UWP builds.
2019-11-03 22:41:55 -05:00
gabime
e3699070a4 clang-format 2019-11-03 17:07:37 +02:00
gabime
bf40855825 Micro-optimize level checking by inlining 2019-11-03 17:04:34 +02:00
gabime
3ee4f2810d Micro-optimze log_it_ 2019-11-03 17:01:58 +02:00
gabime
79468cf676 Micro-optimze log_it_ 2019-11-03 17:00:12 +02:00
gabime
4037942a26 suppress modernize-use-trailing-return-type fron clang-tidy 2019-11-03 15:22:54 +02:00
gabime
cae6c9ab36 Removed lazy argument evaluation from macros 2019-11-03 15:19:59 +02:00
gabime
15b393193a Replaced a forgotten try with SPDLOG_TRY 2019-11-03 15:16:03 +02:00
Gabi Melman
53ab34928c
Merge pull request #1294 from pck/refmacro
Improve log macros
2019-11-03 12:17:00 +02:00
Paul Kunysch
eb4a169cfb Improve log macros 2019-11-02 09:40:37 +01:00
Gabi Melman
6f6cadf31d
Merge pull request #1292 from jktjkt/journald
improve systemd journald support
2019-10-30 21:33:31 +02:00
Jan Kundrát
17513a6dce journald: structured output for logger's name
Previously, the logger name was effectively lost. There were two choices
on how to add it:

- Via a formatter, which would mean that `journalctl` would not be able
to filter against that. That would be suboptimal.

- As a "syslog identifier". This means that `journalctl` will, by
default, stop showing the daemon's executable name and replace that via
the logger name. The PID is still shown, and if one would like to go
back to the previous behavior, it is still possible via `journalctl -o
with-unit`.

I think that the second option is strictly better than the first one.

fixes #1289
2019-10-30 20:08:30 +01:00
Jan Kundrát
a44560ddb6 journald: fix source file location
This is what my manpage says, and what the original blog post [1] says
as well.

Also, `sd_journal_send` can add the location of its own invocation to
the log. That's typically not what we want, so we have to suppress that
feature and instead put whatever is inside the spdlog message into the
journal.

[1] http://0pointer.de/blog/projects/journal-submit.html
2019-10-30 20:08:29 +01:00
gabime
2b8afb38b7 Revert pull #1288 2019-10-28 23:41:40 +02:00
Gabi Melman
685ad74d53
Merge pull request #1288 from yipdw/bugfix/use-64-bit-file-access
Use _FILE_OFFSET_BITS=64 when building on Linux 32-bit systems
2019-10-28 20:48:56 +02:00
David Yip
288ea11534 Use _FILE_OFFSET_BITS=64 when building tests on Linux 32-bit systems
When cross-compiling spdlog from x86-64 to armhf, I ran spdlog-utests
via qemu-arm and noticed that the "daily_logger rotate" test was failing
because count_files always returned zero.

Investigation of count_files revealed that readdir was returning nullptr
immediately and setting errno to 75, i.e. "value too large for defined
data type".  I suspected this had something to do with some 64 vs.
32-bit thing, so I added _FILE_OFFSET_BITS=64 to the build and that
seems to have made readdir happy.

It might be safe to add _FILE_OFFSET_BITS=64 for all Linux builds, but
it only seems to be necessary for the 32-bit case (which is a pretty
small audience these days -- I'm only building for armhf to target a
Raspberry Pi 3 running Raspbian, which runs in 32-bit mode).
2019-10-28 13:23:01 -05:00
Gabi Melman
b848ff8db9
Merge pull request #1285 from masmullin2000/v1.x
Remove unused variable
2019-10-25 22:22:59 +03:00
Michael Mullin
5881fcb0d6 Remove unused variable 2019-10-25 14:47:38 -04:00
Gabi Melman
491a2e8732
Update os-inl.h 2019-10-25 18:59:02 +03:00