[library Boost.Log [quickbook 1.5] [version v2] [authors [Semashev, Andrey]] [copyright 2007 - 2024 Andrey Semashev] [license Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at [@http://www.boost.org/LICENSE_1_0.txt]). ] [id log] [source-mode c++] ] [c++] [/ Links to external resources /] [def __boost_config__ [@https://www.boost.org/doc/libs/release/libs/config/doc/html/index.html Boost.Config]] [def __boost_atomic__ [@https://www.boost.org/doc/libs/release/libs/atomic/doc/html/index.html Boost.Atomic]] [def __boost_smart_ptr__ [@https://www.boost.org/doc/libs/release/libs/smart_ptr/doc/html/smart_ptr.html Boost.SmartPtr]] [def __boost_function__ [@https://www.boost.org/doc/libs/release/doc/html/function.html Boost.Function]] [def __boost_filesystem__ [@https://www.boost.org/doc/libs/release/libs/filesystem/doc/index.htm Boost.Filesystem]] [def __boost_system__ [@https://www.boost.org/doc/libs/release/libs/system/doc/html/system.html Boost.System]] [def __boost_date_time__ [@https://www.boost.org/doc/libs/release/doc/html/date_time.html Boost.DateTime]] [def __boost_date_time_format__ [@https://www.boost.org/doc/libs/release/doc/html/date_time/date_time_io.html#date_time.format_flags Boost.DateTime]] [def __boost_thread__ [@https://www.boost.org/doc/libs/release/doc/html/thread.html Boost.Thread]] [def __boost_regex__ [@https://www.boost.org/doc/libs/release/libs/regex/doc/html/index.html Boost.Regex]] [def __boost_xpressive__ [@https://www.boost.org/doc/libs/release/doc/html/xpressive.html Boost.Xpressive]] [def __boost_parameter__ [@https://www.boost.org/doc/libs/release/libs/parameter/doc/html/index.html Boost.Parameter]] [def __boost_format__ [@https://www.boost.org/doc/libs/release/libs/format/index.html Boost.Format]] [def __boost_preprocessor__ [@https://www.boost.org/doc/libs/release/libs/preprocessor/doc/index.html Boost.Preprocessor]] [def __boost_bind__ [@https://www.boost.org/doc/libs/release/libs/bind/doc/html/bind.html Boost.Bind]] [def __boost_lambda__ [@https://www.boost.org/doc/libs/release/doc/html/lambda.html Boost.Lambda]] [def __boost_phoenix__ [@https://www.boost.org/doc/libs/release/libs/phoenix/doc/html/index.html Boost.Phoenix]] [def __boost_spirit__ [@https://www.boost.org/doc/libs/release/libs/spirit/classic/index.html Boost.Spirit]] [def __boost_spirit2__ [@https://www.boost.org/doc/libs/release/libs/spirit/doc/html/index.html Boost.Spirit2]] [def __boost_optional__ [@https://www.boost.org/doc/libs/release/libs/optional/doc/html/index.html Boost.Optional]] [def __boost_variant__ [@https://www.boost.org/doc/libs/release/doc/html/variant.html Boost.Variant]] [def __boost_intrusive__ [@https://www.boost.org/doc/libs/release/doc/html/intrusive.html Boost.Intrusive]] [def __boost_range__ [@https://www.boost.org/doc/libs/release/libs/range/doc/html/index.html Boost.Range]] [def __boost_iostreams__ [@https://www.boost.org/doc/libs/release/libs/iostreams/doc/index.html Boost.IOStreams]] [def __boost_fusion__ [@https://www.boost.org/doc/libs/release/libs/fusion/doc/html/index.html Boost.Fusion]] [def __boost_mpl__ [@https://www.boost.org/doc/libs/release/libs/mpl/doc/index.html Boost.MPL]] [def __boost_exception__ [@https://www.boost.org/doc/libs/release/libs/exception/doc/boost-exception.html Boost.Exception]] [def __boost_scope_exit__ [@https://www.boost.org/doc/libs/release/libs/scope_exit/doc/html/index.html Boost.ScopeExit]] [def __boost_any__ [@https://www.boost.org/doc/libs/release/doc/html/any.html Boost.Any]] [def __boost_property_tree__ [@https://www.boost.org/doc/libs/release/doc/html/property_tree.html Boost.PropertyTree]] [def __boost_asio__ [@https://www.boost.org/doc/libs/release/doc/html/boost_asio.html Boost.Asio]] [def __boost_move__ [@https://www.boost.org/doc/libs/release/doc/html/move.html Boost.Move]] [def __boost_locale__ [@https://www.boost.org/doc/libs/release/libs/locale/doc/html/index.html Boost.Locale]] [def __boost_type_index__ [@https://www.boost.org/doc/libs/release/doc/html/boost_typeindex.html Boost.TypeIndex]] [def __boost_utility__ [@https://www.boost.org/doc/libs/release/libs/utility/doc/html/index.html Boost.Utility]] [def __boost_quickbook__ [@https://www.boost.org/doc/libs/release/doc/html/quickbook.html Boost.Quickbook]] [def __boost_phoenix_adapt__ [@https://www.boost.org/doc/libs/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html `BOOST_PHOENIX_ADAPT_*`]] [def __boost_phoenix_bind__ [@https://www.boost.org/doc/libs/release/libs/phoenix/doc/html/phoenix/modules/bind.html `boost::phoenix::bind`]] [template ticket[key]'''#'''[key]''''''] [template github_issue[key]'''GH#'''[key]''''''] [template pull_request[key]'''PR#'''[key]''''''] [/ Auto-generated macros that refer to Reference sections /] [include tmp/top_level_reference.qbk] [include tmp/core_reference.qbk] [include tmp/attributes_reference.qbk] [include tmp/expressions_reference.qbk] [include tmp/sources_reference.qbk] [include tmp/sinks_reference.qbk] [include tmp/utility_reference.qbk] [include tmp/support_reference.qbk] [/ Code samples /] [import ../example/doc/tutorial_trivial.cpp] [import ../example/doc/tutorial_trivial_flt.cpp] [import ../example/doc/tutorial_file.cpp] [import ../example/doc/tutorial_file_manual.cpp] [import ../example/doc/tutorial_fmt_stream.cpp] [import ../example/doc/tutorial_fmt_stream_manual.cpp] [import ../example/doc/tutorial_fmt_format.cpp] [import ../example/doc/tutorial_fmt_string.cpp] [import ../example/doc/tutorial_fmt_custom.cpp] [import ../example/doc/tutorial_logging.cpp] [import ../example/doc/tutorial_attributes.cpp] [import ../example/doc/tutorial_filtering.cpp] [import ../example/doc/core_record.cpp] [import ../example/doc/core_core_manual.cpp] [import ../example/doc/attr_value_visitation.cpp] [import ../example/doc/attr_value_extraction.cpp] [import ../example/doc/expressions_attr_fmt_tag.cpp] [import ../example/doc/expressions_keyword_fmt_tag.cpp] [import ../example/doc/expressions_has_attr_stat_accum.cpp] [import ../example/doc/expressions_channel_severity_filter.cpp] [import ../example/doc/expressions_filter_adapt_function.cpp] [import ../example/doc/expressions_wrap_filter.cpp] [import ../example/doc/expressions_formatter_adapt_function.cpp] [import ../example/doc/expressions_wrap_formatter.cpp] [import ../example/doc/sources_net_connection.cpp] [import ../example/doc/sources_net_connection_chan.cpp] [import ../example/doc/sources_net_connection_dynamic_chan.cpp] [import ../example/doc/sources_severity.cpp] [import ../example/doc/sources_severity_channel.cpp] [import ../example/doc/exception_handling.cpp] [import ../example/doc/sinks_unlocked.cpp] [import ../example/doc/sinks_sync.cpp] [import ../example/doc/sinks_async.cpp] [import ../example/doc/sinks_async_bounded.cpp] [import ../example/doc/sinks_async_ordering.cpp] [import ../example/doc/sinks_ostream.cpp] [import ../example/doc/sinks_file.cpp] [import ../example/doc/sinks_xml_file.cpp] [import ../example/doc/sinks_multifile.cpp] [import ../example/doc/sinks_syslog.cpp] [import ../example/doc/sinks_debugger.cpp] [import ../example/doc/sinks_simple_event_log.cpp] [import ../example/doc/sinks_ipc_logger.cpp] [import ../example/doc/sinks_ipc_receiver.cpp] [import ../example/doc/util_static_type_disp.cpp] [import ../example/doc/util_dynamic_type_disp.cpp] [import ../example/doc/util_manip_to_log.cpp] [import ../example/doc/util_ipc_reliable_mq_writer.cpp] [import ../example/doc/util_setup_settings.cpp] [import ../example/doc/extension_stat_collector.cpp] [import ../example/doc/extension_app_launcher.cpp] [import ../example/doc/extension_record_tagger.cpp] [import ../example/doc/extension_system_uptime_attr.cpp] [import ../example/doc/extension_formatter_parser.cpp] [import ../example/doc/extension_filter_parser.cpp] [import ../example/doc/extension_filter_parser_custom_rel.cpp] [import ../example/doc/extension_stat_collector_settings.cpp] [import ../example/wide_char/main.cpp] [import ../example/event_log/main.cpp] [include:log intro.qbk] [include:log install.qbk] [include:log design.qbk] [include:log tutorial.qbk] [section:detailed Detailed features description] [include:log core.qbk] [include:log sources.qbk] [include:log sink_frontends.qbk] [include:log sink_backends.qbk] [include:log expressions.qbk] [include:log attributes.qbk] [include:log utilities.qbk] [endsect] [include:log extension.qbk] [include:log rationale.qbk] [section:reference Reference] [xinclude tmp/top_level_reference.xml] [xinclude tmp/core_reference.xml] [xinclude tmp/attributes_reference.xml] [xinclude tmp/expressions_reference.xml] [xinclude tmp/sources_reference.xml] [xinclude tmp/sinks_reference.xml] [xinclude tmp/utility_reference.xml] [xinclude tmp/support_reference.xml] [endsect] [include:log changelog.qbk] [include:log todo.qbk] [section:acknowledgments Acknowledgments] * Vladimir Prus managed the library review in Boost and actually reviewed it in the process. * Adam Wulkiewicz created the logo used on the [@https://github.com/boostorg/log GitHub project page]. The logo was taken from his [@https://github.com/awulkiew/boost-logos collection] of Boost logos. * Luca Rigini wrote the initial implementation of the NT event log sink and made a lot of suggestions on how to improve the library with regard to writing user-defined sinks. * Jean-Daniel Michaud, Michael Lacher and all others who took part in the discussion of the requirements to the library on [@http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Logging Wiki]. * John Torjo, Gennadiy Rozental and others for their discussion on John's logging library on the Boost developers list. It helped a lot to learn the requirements and possible solutions for the library. * All authors of the great Boost libraries that were involved in this library (notably, __boost_smart_ptr__, __boost_thread__, __boost_date_time__, __boost_filesystem__, __boost_intrusive__, __boost_spirit2__ and others) and __boost_quickbook__ authors for a simple yet powerful documenting tool. * All the reviewers and the users who made suggestions and offered their feedback on the library. Most notably, Steven Watanabe for his in-depth studying the docs and the code, with a lot of fruitful comments on both. [endsect]