Commit Graph

1651 Commits

Author SHA1 Message Date
dominic
033fe9f133 Properly handling SPDLOG_PREVENT_CHILD_FD
Removed check for posix version so that missing O_CLOEXEC leads to
compiler error.

Removed extra function since it hat no real purpose anymore.

Error behavior between Windows and Unix now equivalent.
2020-02-08 12:15:05 +01:00
dominicpoeschko
25b10dc264 additional log overload
calling log with a string_view as msg called
```
 template<typename... Args>
    void log(source_loc loc, level::level_enum lvl, string_view_t fmt, const Args &... args)
```

instead of
```
template<class T, typename std::enable_if<std::is_convertible<const T &, spdlog::string_view_t>::value, T>::type * = nullptr>
    void log(source_loc loc, level::level_enum lvl, const T &msg)
```

which lead to an unnecessary call to fmt::format
2020-02-08 11:11:04 +01:00
dominicpoeschko
a9c3630d1b
Properly handling SPDLOG_PREVENT_CHILD_FD
Using the SPDLOG_PREVENT_CHILD_FD option there where still a race when
a other thread was using fork and exec in between the call to fopen and fcntl.

Using open and O_CLOEXEC when possible prevents this race.

I have no idea if this problem  exists on Windows.
2020-02-07 17:59:11 +01:00
bandana2004
db1a221427 Add eventlog_sink for logging to Windows Event Log (local only). 2020-02-07 15:04:47 +02:00
weiy
85ea4297b9 update method name 2020-01-19 17:29:17 +08:00
weiy
34cc3419fa add max files for rotating days 2020-01-19 13:52:01 +08:00
weiy
46fcd2e844 add max files for rotating days 2020-01-19 13:46:43 +08:00
gabime
175741ed1d Bump fmt to 6.1.2 2019-12-12 23:50:30 +02:00
gabime
25a702fc22 Update fmt.h 2019-12-10 03:03:08 +02:00
gabime
ab178057db Fixed (maybe) #1348 2019-12-10 03:00:06 +02:00
gabime
c9bb85c91d Revert supress of warning 4996 under msvc 2015 2019-12-05 17:25:12 +02:00
gabime
53d58f222f fix warning C4996 under vs2015 about std::copy in fmt 2019-12-05 13:37:31 +02:00
gabime
6b5ebab6ae Fixed msvc compilation 2019-12-05 02:01:02 +02:00
gabime
8107df08a8 Bump bundled fmt to 6.1.1-rc 2019-12-05 01:29:32 +02:00
gabime
dc29500931 version 1.5.0-rc 2019-12-05 01:21:58 +02:00
gabime
31fc1aca53 Supress -Wimplicit-fallthrough and -Wsign-conversion when including fmt headers 2019-12-05 01:12:55 +02:00
gabime
0db4b04ad3 Bump bundled fmt to version 6.1.0 2019-12-04 23:39:17 +02:00
gabime
1aa9ea92e2 Fix #1340 2019-12-03 00:35:28 +02:00
gabime
6f977248bf Impl #1298 2019-12-01 01:28:28 +02:00
gabime
d25fb08a75 clang-format 2019-11-29 12:50:54 +02:00
gabime
79e105243c Fix #1335 2019-11-29 12:48:21 +02:00
gabime
2d4e531ac9 Fix #1327 2019-11-29 12:36:06 +02:00
gabime
52403ad9ed Fix #1332 2019-11-29 11:32:46 +02:00
Florin Iucha
c172c72be9 Fix compiler warnings 2019-11-27 19:17:27 -05:00
Gabi Melman
79259fdb3f
Update os-inl.h 2019-11-16 13:23:00 +02:00
gabime
cee35f7d24 Added truncate flag (issue #1297) 2019-11-14 12:28:23 +02:00
Zhi Sun
e8f7f80f2b Remove redundant semicolon 2019-11-11 18:41:58 +08:00
gabime
6db8beeade Removed un needed file 2019-11-10 00:55:50 +02:00
gabime
4f66313440 Fix #1308 2019-11-10 00:35:34 +02:00
gabime
89b5bcfdc7 Updated ringbuffer sink 2019-11-10 00:18:24 +02:00
gabime
26f706ebe3 Fixed #1302 2019-11-10 00:11:39 +02:00
gabime
0cb38085a1 Updated ringbuffer sink 2019-11-10 00:08:50 +02:00
Gabi Melman
cff6644b28
Merge pull request #1307 from eudoxos/ringbuffer-sink
Add ringbuffer sink
2019-11-09 21:38:57 +02:00
Václav Šmilauer
63837530ed Fix circular_q::size() empty case 2019-11-09 19:26:49 +01:00
Václav Šmilauer
62e09e73f7 defer formatting, use log_msg_buffer for intermediate storage 2019-11-09 13:48:04 +01:00
Václav Šmilauer
daef0a2374 Fix circular_q::size() 2019-11-09 13:15:57 +01:00
Václav Šmilauer
042045b998 typo fix 2019-11-09 09:35:05 +01:00
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
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
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
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
10116b7717 Removed SPDLOG_NO_DATETIME option 2019-11-04 17:43:30 +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
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
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
Paul Kunysch
eb4a169cfb Improve log macros 2019-11-02 09:40:37 +01: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
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
gabime
05105155f8 refactoed file_helper 2019-10-25 16:55:24 +03:00
gabime
9f96545fa7 refactoed file_helper 2019-10-25 16:52:12 +03:00
gabime
0c60107e62 refactoed file_helper 2019-10-25 16:50:06 +03:00
gabime
aac7dccf45 comment 2019-10-25 16:17:55 +03:00
gabime
c19e325b83 Added some tests for create_dir 2019-10-25 16:17:02 +03:00
gabime
bd92c23add comment 2019-10-25 16:07:10 +03:00
gabime
a4602021d8 Renamed private members of file_helper 2019-10-25 16:04:07 +03:00
gabime
dbe5c17a96 Renamed file_exists()->path_exists() 2019-10-25 15:56:23 +03:00
gabime
c40555c0ac clang-format 2019-10-25 15:44:53 +03:00
gabime
a1f283946e updated os::dir_name and tests 2019-10-25 14:29:57 +03:00
gabime
066087b383 Update create_dir 2019-10-25 14:14:50 +03:00
gabime
e9d42e059f // support forward slash in windows 2019-10-25 12:52:39 +03:00
Gabi Melman
d3c6974e99
Update os.h 2019-10-20 19:09:37 +03:00
Gabi Melman
1271081865
Update os-inl.h 2019-10-20 19:08:47 +03:00
Gabi Melman
8a638a95a0
Update os-inl.h 2019-10-20 18:31:04 +03:00
Gabi Melman
d9f726f2a5
Add global namespace qualifiers to global function calls in os-inl.h 2019-10-20 18:25:09 +03:00
gabime
9a68bd8cc8 Fixed missing include 2019-10-20 17:48:13 +03:00
gabime
9b7812a0f2 auto create log dir 2019-10-20 17:40:56 +03:00
Florian Pigorsch
4aad51a352 Fix some spelling errors.
casese -> cases (1)
chache -> cache (1)
cirucal -> circular (1)
dependecy -> dependency (1)
detrmine -> determine (2)
eavluate -> evaluate (1)
exertnal -> external (1)
ony -> only (1)
registation -> registration (3)
registring -> registering (2)
regsistration -> registration (3)
seperate -> separate (2)
wit -> with (1)
withe -> with (1)
2019-10-19 09:42:38 +02:00
gabime
9a0a0c2d8c clang-format 2019-10-18 16:14:08 +03:00
gabime
fcc809f4f1 Refactored logger 2019-10-18 16:10:57 +03:00
Jan Kundrát
a03f9eb156 Fix build failure on clang 7 with libc++
Unlike the GNU C++ STL, there's no implicit include for <array> in this
one, apparently.
2019-10-18 10:14:44 +02:00
Gabi Melman
aa65dd8905
version 1.4.3 rc 2019-10-11 19:48:33 +03:00
gabime
9369fe8c27 Fix #1262 2019-10-09 21:41:02 +03:00
gabime
70357ceff2 clang-format 2019-10-06 00:31:38 +03:00
gabime
cfe7cac1c4 version 1.4.2 2019-10-06 00:30:40 +03:00
Gabi Melman
5cd0b6272d
Update logger-inl.h 2019-10-01 01:56:02 +03:00
Gabi Melman
bf49bebe7a
Update logger.h 2019-10-01 01:50:18 +03:00
Benjamin Sergeant
5381061d97 Fix windows compile error where std::max is overriden by a macro (#1251) 2019-09-29 22:03:47 -07:00
gabime
274558c430 Fix issue #1250 2019-09-28 11:39:06 +03:00
gabime
188afe20f9 Fix issue #1249 2019-09-28 11:20:26 +03:00
gabime
453be2e08a clang-format 2019-09-23 12:38:19 +03:00
Bak, Jin Hyeong
f8e780b9dd Fix #1239, Remove basic_string_view_t 2019-09-23 14:48:09 +09:00
gabime
fe20afac17 clang-format 2019-09-21 18:16:38 +03:00
gabime
3b425affd3 Fixed missing braces around initializer warnings about std::array initializations 2019-09-21 15:13:50 +03:00
Gabi Melman
90801267ee
Merge pull request #1234 from jbeich/dragonfly
Unbreak on more BSDs
2019-09-20 20:47:41 +03:00
Jan Beich
8d57823e51 fstat64 is missing on other DragonFly, NetBSD, OpenBSD
Modern operating systems don't need to implement transitional
extensions for large file support.
2019-09-20 13:27:58 +00:00