2
0
mirror of https://github.com/boostorg/log.git synced 2026-02-10 11:32:32 +00:00
Commit Graph

134 Commits

Author SHA1 Message Date
Andrey Semashev
30fcf0ef2d Renamed all uses of basic_string_ref to basic_string_view to follow Boost.Utility. 2015-12-23 01:58:20 +03:00
Andrey Semashev
a31ec74e51 Make sure that Windows API version is consistent for all sources.
Include winapi/config.hpp as soon as possible; avoid including even
Boost.Config before it so that it doesn't set Windows API version
accidentally by including some third party header. In all source files,
include detail/config.hpp or detail/setup_config.hpp first thing.

Moved all WinAPI config macros to the Jamfile.v2 and removed
windows_version.hpp as it was no longer needed. Also enabled inclusion of
windows.h while compiling the library.

Removed auto-linking with psapi.lib and advapi32.lib as it was no longer
working after ecf3114. Added linking with advapi32.lib to Jamfile.v2.
2015-12-20 21:05:28 +03:00
Andrey Semashev
c6f09d69c8 Fixed compilation on POSIX-like systems. Ported GetTickCount64 emulation to Boost.Atomic and got rid of union-based type punning as it is formally an UB. 2015-12-20 18:15:38 +03:00
Andrey Semashev
388a3e2126 Switch more code to the WinAPI abstraction layer. Use GetModuleHandleW and get_proc_address everywhere to avoid compilation errors for Windows CE. 2015-12-20 17:26:34 +03:00
Andrey Semashev
2f88565e5b Merge pull request #23 from muggenhor/msvc9-sfinae-compatibility
Use the MSVC 8 workaround for SFINAE on MSVC 9 as it fails similarly.
2015-12-20 14:23:37 +03:00
Andrey Semashev
92bc025942 Use Boost.Detail.WinAPI for Windows API declarations. Use #pragma intrinsic only with MSVC. 2015-11-15 17:47:43 +03:00
Andrey Semashev
b5969e5233 Changed adaptive_mutex to use pthread_mutex_t. On systems that support it (Linux, FreeBSD, OpenBSD) PTHREAD_MUTEX_ADAPTIVE_NP is used, otherwise the default mutex type. This greatly imporoves performance in case of heavy thread contention: 100 threads - x2.7 records per second, 1000 threads - x4. Less contended cases are mostly unaffected. 2015-11-15 17:18:48 +03:00
Andrey Semashev
5434177322 Renamed spin_mutex.hpp to adaptive_mutex.hpp. 2015-11-15 16:12:13 +03:00
Andrey Semashev
f9dfc45d85 Cleaned up the TLS implementation to avoid reinterpret_casts and associated warnings about violating strict aliasing rules. 2015-11-10 00:59:21 +03:00
Andrey Semashev
fd3e82a610 Added an explicit call to terminate if any exceptions are thrown in the async frontend destructor. This would have been the case in C++11 already, but the explicit call makes some static analyzers happy and also mandates the same behavior in C++03. 2015-11-04 13:25:24 +03:00
Giel van Schijndel
3b6d6dc158 Use the MSVC 8 workaround on 9 for SFINAE fail too
Template expansion fails on MSVC 9 otherwise with:
> error C2440: 'default argument' : cannot convert from 'int' to 'boost::type'
on the basic_formatter constructor taking a functor.
2015-10-30 14:35:42 +01:00
Andrey Semashev
03325f9dca Removed novtable attribute, which is no longer valid. 2015-10-15 23:00:23 +03:00
Andrey Semashev
6845eb43cc Use Boost.Atomic for atomic operations. Remove obsolete atomic_queue.hpp header. 2015-10-15 22:52:06 +03:00
Andrey Semashev
c7f18fd7ab Replaced BOOST_LOG_USE_WINNT6_API macro with BOOST_USE_WINAPI_VERSION. The target Windows version is now selected with the WinAPI submodule. Also simplified a few preprocessor checks and updated docs. 2015-10-14 22:04:02 +03:00
Andrey Semashev
a65d75a30e Another workaround for MSVC-7.1. 2015-10-13 12:53:18 +03:00
Andrey Semashev
eaf71c96ab A workaround for MSVC 7.1. 2015-10-12 12:24:29 +03:00
Andrey Semashev
490f2dc5b6 Attempt to fix compilation with MSVC-7.1. 2015-10-09 12:45:40 +03:00
Andrey Semashev
e651649e4d A cleaner workaround for MSVC-10 and older bug that results in picking a wrong constructor of pattern_replacer. 2015-10-06 23:56:23 +03:00
Andrey Semashev
7c210933e8 Added a workaround for MSVC-10 and older bug that results in picking a wrong constructor of pattern_replacer. 2015-10-05 23:42:48 +03:00
Andrey Semashev
b559675cfe Corrected docs. 2015-10-04 12:03:05 +03:00
Andrey Semashev
b7de827f23 Fixed compilation of character decorators. Added tests. 2015-09-26 19:20:07 +03:00
Andrey Semashev
b328b0bf9d Merge pull request #10 from crmoore/fix-setup-linking-clang
Fixed missing symbols in libboost_log_setup (on mac/clang)
2015-08-25 10:32:42 +03:00
Andrey Semashev
00cb99aa07 Workaround for MSVC 10 compiler bug. It fails to use sentry in conditional expressions in a particular case. 2015-08-25 10:29:27 +03:00
Christopher Moore
870284ed31 Fixed missing symbols in libboost_log_setup (on mac/clang) 2015-08-24 14:30:58 -04:00
Andrey Semashev
44ef109505 Fixed #11541. Fixed compilation when native wchar_t type is disabled. Added a note of discouragement to the configuration section. 2015-08-23 20:30:30 +03:00
Andrey Semashev
c2789a4eff Added a workaround for Solaris Studio 12.4, which should fix the compilation of formatting_ostream. Fixed #11545. 2015-08-23 17:45:49 +03:00
Andrey Semashev
7da193fde1 Fixed compilation of operator<< into a record ostream, when the operator right hand argument is not directly supported by formatting_ostream. Fixed #11549. 2015-08-23 17:27:20 +03:00
Andrey Semashev
4be8a1fde6 Removed the check for VC-14 broken codecvt facets. The similar check has been merged to Boost.Config master. 2015-08-04 21:17:10 +03:00
Andrey Semashev
1bb9312a8e Define BOOST_LOG_NO_CXX11_CODECVT_FACETS for VC14 (replicate the Boost.Config fix that has not been merged to master yet). 2015-08-01 17:14:54 +03:00
Andrey Semashev
9e63900033 Removed the check for MSVC for C++11 codecvt facets as it was moved to Boost.Config. 2015-07-27 14:53:49 +03:00
Andrey Semashev
38af3c7754 Updated check for C++11 codecvt specializations availability. 2015-07-26 18:35:20 +03:00
Andrey Semashev
f9338127b7 Fixed compilation on MSVC. More correct C++11 code conversion facets detection. Updated unhandled_exception_count() to use std::uncaught_exceptions() from C++17, where available (MSVC-14, currently). 2015-07-26 17:38:15 +03:00
Andrey Semashev
92f565f911 Corrected snprintf use. 2015-07-26 14:04:16 +03:00
Andrey Semashev
cfa61a6f90 Reverted the last commit: snprintf is actually supposed to return values >= than the size of the buffer in case of overflow. 2015-07-26 12:22:50 +03:00
Andrey Semashev
e61321e345 Fixed incorrect length returned from snprintf on MSVC when the printed string did not fit in the supplied buffer. 2015-07-26 12:07:16 +03:00
Andrey Semashev
7d7b70e78b The default formatter has been rewritten to avoid using Boost.Phoenix.
This reduces compile times and binary sizes. It should also fix compilation with compilers not able to handle Boost.Phoenix (see #11200).

Also, date/time format has changed. The default formatter will produce dates with numeric months instead of abbreviated month names (see #8839).

The standard attribute value types supported by default parsed formatters now include char16_t and char32_t, when available. This required to add new code conversion routines.

Added Boost.PP sequences with the standard types. These are used to generate the corresponding type sequences, which is faster to compile than doing this with Boost.MPL.
2015-07-25 23:58:02 +03:00
Andrey Semashev
cb68c029e2 Made message_file parameter optional if registration parameter is never. It is not used anyway. 2015-07-17 20:54:41 +03:00
Andrey Semashev
89701d97c8 Corrected comments. 2015-07-17 02:47:08 +03:00
Andrey Semashev
c88426eb26 Removed unused typedef. 2015-07-17 02:22:54 +03:00
Andrey Semashev
30e7f03631 Fixes #11398. Improved the event synchronization primitive.
The updated implementation relies on Boost.Atomic for atomic operations which provides better portability. On Linux the implementation uses futexes directly, which should improve performance slightly. The event implementation choice should be more stable across different compiler versions because of these changes.
2015-07-05 22:00:03 +03:00
Andrey Semashev
3d5d5e31d0 Added tests for the to_log manipulator. Made generic operator<< for the formatting stream less attractive for the compiler. 2015-07-05 16:25:22 +03:00
Andrey Semashev
bdf86442e5 Fixed operator<< for lvalue strings where character conversion is needed. 2015-06-01 00:10:57 +03:00
Andrey Semashev
34e68c7b5a Ported from std::random_shuffle and std::rand to Boost.Random and custom random_shuffle implementation. 2015-03-29 20:12:58 +03:00
Andrey Semashev
a86343abfa Removed unused header. 2015-03-28 22:03:24 +03:00
Andrey Semashev
d14a7e1256 Removed the previously deprecated headers: , , . 2015-03-28 21:34:11 +03:00
Andrey Semashev
7f9dfd579e Deprecated type_info_wrapper. 2015-03-28 21:28:49 +03:00
Andrey Semashev
f1337c6fbc Ported library to Boost.TypeIndex. This solves symbol visibility problems with Clang on Linux when the library is built with -fvisibility=hidden. 2015-03-28 21:20:55 +03:00
Andrey Semashev
f74a7df2df Fixed #11148. Fixed incorrect behavior of attribute_value_set::size() if a large number of attribute values are inserted into the set. 2015-03-28 19:04:31 +03:00
Andrey Semashev
4751a16536 Added compilation workarounds for MSVC 2015 CTP6. 2015-03-01 21:22:46 +03:00
Andrey Semashev
7ebfd3b6c4 Fixes #11016. Text file sink no longer creates lots of empty files if there is no free space on the file system. 2015-02-14 19:19:42 +03:00