Commit Graph

654 Commits

Author SHA1 Message Date
Andrey Semashev
5ec0e31686 Added Appveyor and Travis CI config files. 2019-01-03 23:33:01 +03:00
Andrey Semashev
543404002f Fixed compile error in wrapping argument into file_name named argument.
As suggested by Cromwell D. Enage in https://github.com/boostorg/log/pull/68.
2019-01-02 17:25:22 +03:00
Andrey Semashev
87eb8439d9 Revert "Added an experimental partial CMakeLists.txt for dependency tracking in CMake projects."
This reverts commit e31f19c7b9.

Apparently, just adding include paths to user's CMake projects is not enough
for the original requester.

https://github.com/boostorg/atomic/pull/20#issuecomment-448345886
2018-12-18 23:04:34 +03:00
Andrey Semashev
e31f19c7b9 Added an experimental partial CMakeLists.txt for dependency tracking in CMake projects. 2018-12-18 19:45:53 +03:00
Andrey Semashev
67eef1afba Switch to uncaught_exceptions from Boost.Core.
The implementation in Boost.Core was based in unhandled_exception_count
in Boost.Log, therefore we remove our loca implementation in favor
of the common one.
2018-12-17 19:21:25 +03:00
Andrey Semashev
b222110738 Prefer std::uncaught_exceptions on compilers that provide it. 2018-11-05 12:59:52 +03:00
Andrey Semashev
dc840d1f95 Changed http to https in URLs in readme. 2018-11-01 20:38:30 +03:00
Andrey Semashev
f8954f6662 Work around incorrect total file size estimate in file_collector.
If the text file sink backend used the file that was previously scanned
by file_collector as an old log file, on rotation the collector would
store a duplicate of the file info. If the file was removed due to
storage limits, the file info would still be stored despite the file
being deleted.

Also, in case if a file that is about to be rotated is deleted, don't
hard fail with an exception. This may happen if another process have deleted
the file or Boost.Log itself has. The latter can happen if multiple sinks
write directly into the common target storage and one of them invokes
file rotation, which due to the storage limits delete the file that
is currently being written by the other sink.
2018-10-30 04:29:49 +03:00
Andrey Semashev
a95dc575a1 Updated Boost.ASIO usage to avoid using deprecated APIs.
Fixes https://github.com/boostorg/log/issues/59.
2018-10-21 22:21:10 +03:00
Andrey Semashev
a51cac7979 Nonessential changes in indentation. 2018-10-15 22:45:48 +03:00
Andrey Semashev
d9014d2fbc Hidden visibility is now used by default in the superproject. 2018-09-30 22:24:06 +03:00
Andrey Semashev
d3f3776024 Removed compiler visibility check in favor of the visibility feature in BBv2.
Boost.Build offers better compatibility with different compilers, some of
which use different flags for changing the default visibility. This also
slightly simplifies Boost.Log Jamfile.
2018-08-25 02:02:07 +03:00
Andrey Semashev
7cf231cfc3 Add quotes around strings to avoid bjam warnings. 2018-08-20 15:27:32 +03:00
Andrey Semashev
8418a749ea Save/restore full rbx on 64-bit VxWorks. 2018-08-13 20:22:12 +03:00
Andrey Semashev
050309a40b Removed useless code duplication in BOOST_LOG_NO_VTABLE definition. 2018-08-13 12:59:59 +03:00
Andrey Semashev
cf8b4a3238 Added a changelog entry about better support for VxWorks. 2018-06-01 14:23:38 +03:00
Andrey Semashev
95ebf8c62d Post-merge corrections. 2018-06-01 14:18:46 +03:00
Andrey Semashev
aed9bbca4e
Merge pull request #39 from kuhlenough/develop
Configure log for VxWorks
2018-06-01 14:11:50 +03:00
Andrey Semashev
2fa3e72262 Fixed outdated docs. 2018-06-01 14:06:24 +03:00
Brian Kuhl
26e36fbc1d Review changes; keep example clean, consolidate BOOST_LOG_NO_GETPWUID_R 2018-04-29 20:54:01 -04:00
Brian Kuhl
1f6543e94c Merge remote-tracking branch 'upstream/develop' into develop
# Conflicts:
#	src/dump.cpp
2018-04-24 23:58:12 -04:00
Andrey Semashev
d88339870c Added cache line sizes for PowerPC and IBM Z.
The cache line sizes were taken from Boost.Lockfree.
2018-04-19 22:18:42 +03:00
Andrey Semashev
a1f61ac15b Save and restore ebx around cpuid on 32-bit PIE targets.
Also use a more efficient and reliable save and restore code. The previous
implementation could potentially result in invalid code generated if the
memory reference generated by compiler involved ebx.
2018-04-18 07:55:54 +03:00
Andrey Semashev
444e6b5bda Updated NTAPI calling convention macro. 2018-03-11 02:44:49 +03:00
Andrey Semashev
d268933c2a Updated WINAPI calling convention macro.
Boost.WinAPI no longer defines WINAPI calling convention macro and instead
defines its own BOOST_WINAPI_WINAPI_CC macro.
2018-03-11 02:31:06 +03:00
Andrey Semashev
d3226ec845 Updated Jamfile to avoid special characters in condition.
This silences a bjam warning.
2018-03-09 01:15:10 +03:00
Andrey Semashev
66ba4c469f Corrected typos in the docs. 2018-03-07 02:15:26 +03:00
Andrey Semashev
cafc525479 Added periodic refresh calls to emulated GetTickCount64.
Periodic refreshes make sure that the 32-bit GetTickCount wraparounds are
properly counted even if the user doesn't call GetTickCount64 for extended
periods of time.
2018-02-21 21:07:55 +03:00
Andrey Semashev
1cc577cbf5 Silenced "unused argument" on clang.
Also added an assert to document that length_until_boundary expects max_size
to be within the string size.

Made length_until_boundary implementation versions private and use
integral_constant to dispatch between them. It is slightly more lightweight
than mpl::bool_.
2018-01-28 14:40:33 +03:00
Brian Kuhl
8d0ada3a41 If no gid or sid substitute uid,
Object name scopes remain non-overlapping & all tests pass
2018-01-20 22:01:26 -05:00
Andrey Semashev
eb3816f828 Added a note that the Boost.Filesystem global locale crash can be worked around by disabling final log file rotation in sinks. 2018-01-17 13:10:20 +03:00
Andrey Semashev
f66f8923ff Added docs for the Append settings parameter for the TextFile sinks.
The parameter was supported in the code but was not documented.
2018-01-17 13:09:20 +03:00
Andrey Semashev
23c01d5611 Use inline namespaces in C++03 with gcc >= 4.4.
Apparently, gcc allows using inline namespaces even in C++03 mode, although it
generates -pedantic warnings. Suppress those warnings with __extension__.

This is a more long-term solution for strong using directive deprecation in
gcc 7. Suggested by Jonathan Wakely in:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83624
2018-01-04 16:40:03 +03:00
Andrey Semashev
ccf5e745aa Updated IPC queue example to compile in C++03 mode with gcc.
The example uses IPC queue operation_result as a namespace qualifier for
the values of the enum. This is allowed in C++11 and some compilers also allow
it in C++03. This is the preferred use of the enum values, so in the official
docs that kind of use is still displayed. For compatibility with C++03 though
an additional hidden code branch is added that refers to the constants without
qualification.
2018-01-03 19:54:34 +03:00
Andrey Semashev
7691ccf000 Corrected docs for stop_local. 2018-01-03 19:54:24 +03:00
Andrey Semashev
bf5e26c2e1 Use std::allocator_traits where possible to work with allocators.
This should help avoid using members that were deprecated in C++17 and thus
improve compatibility with later language versions.

The commit also adds a new internal trait rebind_alloc that helps to portably
rebind the allocator to another allocated type. The trait also avoids
instantiation of std::allocator<void> which is also deprecated in C++17.
2018-01-03 19:50:44 +03:00
Andrey Semashev
f422e1bb8a Suppressed gcc 7 warning about strong using deprecation.
The strong using attribute is only used in C++03 mode precisely to emulate
the C++11 inline namespaces. The warning is misleading because in C++03
inline namespaces are not available and cannot be used.
2017-12-30 01:24:52 +03:00
Andrey Semashev
370c652d52
Merge pull request #45 from boostorg/pr/add-boost-install
Add boost-install to build/Jamfile
2017-12-17 20:35:17 +03:00
Andrey Semashev
525c53b1a7 Corrected _SECURITY_ATTRIBUTES forward declaration from Boost.WinAPI.
Most of the symbols of Boost.WinAPI were moved to boost::winapi from
boost::detail::winapi, so the forward-declaration and the corresponding
constructor were declaring and using an unrelated struct.
2017-12-17 20:25:38 +03:00
Peter Dimov
ae6d04e58d Add boost-install to build/Jamfile 2017-12-17 19:06:56 +02:00
Andrey Semashev
557bec289a Minor nonessential code cleanup. 2017-10-29 19:39:34 +03:00
Andrey Semashev
19973d0488 Updated Boost.WinAPI usage to the new location and namespace. 2017-10-24 22:55:48 +03:00
Andrey Semashev
4241a27775 Replaced deprecated forwarding includes with the actual includes. 2017-09-20 00:05:34 +03:00
Andrey Semashev
f42c2a8ded Fixed clang error about narrowing constant value to an int. 2017-09-19 23:56:33 +03:00
Brian Kuhl
312e61453a Move defines out of jam, because VxWorks users may not use it
Don't test what isn't going to work
2017-09-11 20:59:13 -04:00
Brian Kuhl
9da9c62295 Protect ebx on 64bit PIC on VxWorks
Because the GCC throws error if we don't
2017-09-09 23:19:36 -04:00
Brian Kuhl
833b00546e Get IPC to compile on VxWorks by adding:
BOOST_LOG_NO_GETPGRP
BOOST_LOG_NO_GETSID
BOOST_LOG_NO_LOCALE
2017-09-09 23:08:16 -04:00
Brian Kuhl
5ac5611625 Configure log for VxWorks
IPC and Default factories use APIs VX does not have
2017-09-06 22:03:02 -04:00
Andrey Semashev
0f62e131cd Silenced a gcc warning about get_attr_value() being declared but not defined. 2017-09-05 18:11:04 +03:00
Andrey Semashev
0b4ce57edc Added casts of date/time components to uint32_t to silence MSVC warnings.
The date and time values handled by Boost.Log are not supposed to exceed
uint32_t range most of the time. The possible exceptions are date/time
durations, which are currently handled by the same code path as the
date/time points. If durations become an issue, the code should be
reworked so that durations are handled separately by the formater.
Converting all of the implementation to uint64_t won't help since the
decomposed date/time is further converted to std::tm, which is unlikely to
have uint64_t-wide components.
2017-09-02 21:13:03 +03:00