• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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