1 /* 2 * Copyright Andrey Semashev 2007 - 2015. 3 * Distributed under the Boost Software License, Version 1.0. 4 * (See accompanying file LICENSE_1_0.txt or copy at 5 * http://www.boost.org/LICENSE_1_0.txt) 6 */ 7 /*! 8 * \file logger.hpp 9 * \author Andrey Semashev 10 * \date 08.03.2007 11 * 12 * The header contains implementation of a simplistic logger with no features. 13 */ 14 15 #ifndef BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_ 16 #define BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_ 17 18 #include <boost/log/detail/config.hpp> 19 #include <boost/log/sources/basic_logger.hpp> 20 #include <boost/log/sources/features.hpp> 21 #include <boost/log/sources/threading_models.hpp> 22 #if !defined(BOOST_LOG_NO_THREADS) 23 #include <boost/log/detail/light_rw_mutex.hpp> 24 #endif // !defined(BOOST_LOG_NO_THREADS) 25 #include <boost/log/detail/header.hpp> 26 27 #ifdef BOOST_HAS_PRAGMA_ONCE 28 #pragma once 29 #endif 30 31 namespace boost { 32 33 BOOST_LOG_OPEN_NAMESPACE 34 35 namespace sources { 36 37 #ifdef BOOST_LOG_USE_CHAR 38 39 /*! 40 * \brief Narrow-char logger. Functionally equivalent to \c basic_logger. 41 * 42 * See \c basic_logger class template for a more detailed description. 43 */ 44 class logger : 45 public basic_composite_logger< char, logger, single_thread_model, features< > > 46 { 47 BOOST_LOG_FORWARD_LOGGER_MEMBERS(logger) 48 }; 49 50 #if !defined(BOOST_LOG_NO_THREADS) 51 52 /*! 53 * \brief Narrow-char thread-safe logger. Functionally equivalent to \c basic_logger. 54 * 55 * See \c basic_logger class template for a more detailed description. 56 */ 57 class logger_mt : 58 public basic_composite_logger< char, logger_mt, multi_thread_model< boost::log::aux::light_rw_mutex >, features< > > 59 { 60 BOOST_LOG_FORWARD_LOGGER_MEMBERS(logger_mt) 61 }; 62 63 #endif // !defined(BOOST_LOG_NO_THREADS) 64 #endif // BOOST_LOG_USE_CHAR 65 66 #ifdef BOOST_LOG_USE_WCHAR_T 67 68 /*! 69 * \brief Wide-char logger. Functionally equivalent to \c basic_logger. 70 * 71 * See \c basic_logger class template for a more detailed description. 72 */ 73 class wlogger : 74 public basic_composite_logger< wchar_t, wlogger, single_thread_model, features< > > 75 { 76 BOOST_LOG_FORWARD_LOGGER_MEMBERS(wlogger) 77 }; 78 79 #if !defined(BOOST_LOG_NO_THREADS) 80 81 /*! 82 * \brief Wide-char thread-safe logger. Functionally equivalent to \c basic_logger. 83 * 84 * See \c basic_logger class template for a more detailed description. 85 */ 86 class wlogger_mt : 87 public basic_composite_logger< wchar_t, wlogger_mt, multi_thread_model< boost::log::aux::light_rw_mutex >, features< > > 88 { 89 BOOST_LOG_FORWARD_LOGGER_MEMBERS(wlogger_mt) 90 }; 91 92 #endif // !defined(BOOST_LOG_NO_THREADS) 93 #endif // BOOST_LOG_USE_WCHAR_T 94 95 } // namespace sources 96 97 BOOST_LOG_CLOSE_NAMESPACE // namespace log 98 99 } // namespace boost 100 101 #include <boost/log/detail/footer.hpp> 102 103 #endif // BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_ 104