1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Logging sources</title> 5<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="index.html" title="Chapter 1. Boost.Log v2"> 8<link rel="up" href="log/reference.html" title="Reference"> 9<link rel="prev" href="boost/log/expressions/record.html" title="Global record"> 10<link rel="next" href="boost/log/sources/basic_composite_logger.html" title="Class template basic_composite_logger"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td></tr></table> 14<hr> 15<div class="spirit-nav"> 16<a accesskey="p" href="boost/log/expressions/record.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="log/reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/log/sources/basic_composite_logger.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 17</div> 18<div class="section"> 19<div class="titlepage"><div><div><h3 class="title"> 20<a name="logging_sources"></a>Logging sources</h3></div></div></div> 21<div class="toc"><dl class="toc"> 22<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.basic_logger_hpp">Header <boost/log/sources/basic_logger.hpp></a></span></dt> 23<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.channel_feature_hpp">Header <boost/log/sources/channel_feature.hpp></a></span></dt> 24<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.channel_logger_hpp">Header <boost/log/sources/channel_logger.hpp></a></span></dt> 25<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.exception_handler_feature_hpp">Header <boost/log/sources/exception_handler_feature.hpp></a></span></dt> 26<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.features_hpp">Header <boost/log/sources/features.hpp></a></span></dt> 27<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.global_logger_storage_hpp">Header <boost/log/sources/global_logger_storage.hpp></a></span></dt> 28<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.logger_hpp">Header <boost/log/sources/logger.hpp></a></span></dt> 29<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.record_ostream_hpp">Header <boost/log/sources/record_ostream.hpp></a></span></dt> 30<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.severity_channel_logger_hpp">Header <boost/log/sources/severity_channel_logger.hpp></a></span></dt> 31<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.severity_feature_hpp">Header <boost/log/sources/severity_feature.hpp></a></span></dt> 32<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.severity_logger_hpp">Header <boost/log/sources/severity_logger.hpp></a></span></dt> 33<dt><span class="section"><a href="logging_sources.html#header.boost.log.sources.threading_models_hpp">Header <boost/log/sources/threading_models.hpp></a></span></dt> 34</dl></div> 35<div class="section"> 36<div class="titlepage"><div><div><h4 class="title"> 37<a name="header.boost.log.sources.basic_logger_hpp"></a>Header <<a href="../../../../boost/log/sources/basic_logger.hpp" target="_top">boost/log/sources/basic_logger.hpp</a>></h4></div></div></div> 38<p>Andrey Semashev </p> 39<p> 40 41</p> 42<p>08.03.2007</p> 43<p> 44 45The header contains implementation of a base class for loggers. Convenience macros for defining custom loggers are also provided. </p> 46<pre class="synopsis"> 47 48<a class="link" href="BOOST_LO_idm46079579998688.html" title="Macro BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS">BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS</a>(class_type) 49<a class="link" href="BOOST_LO_idm46079579997440.html" title="Macro BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_TEMPLATE">BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_TEMPLATE</a>(class_type) 50<a class="link" href="BOOST_LO_idm46079579996176.html" title="Macro BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT">BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT</a>(class_type) 51<a class="link" href="BOOST_LO_idm46079579994928.html" title="Macro BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT_TEMPLATE">BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT_TEMPLATE</a>(class_type) 52<a class="link" href="BOOST_LO_idm46079579993664.html" title="Macro BOOST_LOG_FORWARD_LOGGER_MEMBERS">BOOST_LOG_FORWARD_LOGGER_MEMBERS</a>(class_type) 53<a class="link" href="BOOST_LO_idm46079579992416.html" title="Macro BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE">BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE</a>(class_type) 54<a class="link" href="BOOST_LO_idm46079579991152.html" title="Macro BOOST_LOG_DECLARE_LOGGER_TYPE">BOOST_LOG_DECLARE_LOGGER_TYPE</a>(type_name, char_type, base_seq, threading) 55<a class="link" href="BOOST_LOG_DECLARE_LOGGER.html" title="Macro BOOST_LOG_DECLARE_LOGGER">BOOST_LOG_DECLARE_LOGGER</a>(type_name, base_seq) 56<a class="link" href="BOOST_LO_idm46079579982400.html" title="Macro BOOST_LOG_DECLARE_LOGGER_MT">BOOST_LOG_DECLARE_LOGGER_MT</a>(type_name, base_seq) 57<a class="link" href="BOOST_LOG_DECLARE_WLOGGER.html" title="Macro BOOST_LOG_DECLARE_WLOGGER">BOOST_LOG_DECLARE_WLOGGER</a>(type_name, base_seq) 58<a class="link" href="BOOST_LO_idm46079579974672.html" title="Macro BOOST_LOG_DECLARE_WLOGGER_MT">BOOST_LOG_DECLARE_WLOGGER_MT</a>(type_name, base_seq)</pre> 59<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 60 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 61 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 62 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> FinalT<span class="special">,</span> <span class="keyword">typename</span> ThreadingModelT<span class="special">,</span> 63 <span class="keyword">typename</span> FeaturesT<span class="special">></span> 64 <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_composite_logger.html" title="Class template basic_composite_logger">basic_composite_logger</a><span class="special">;</span> 65 66 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> FinalT<span class="special">,</span> <span class="keyword">typename</span> FeaturesT<span class="special">></span> 67 <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_co_idm46079580295792.html" title="Class template basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT>">basic_composite_logger</a><span class="special"><</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">FinalT</span><span class="special">,</span> <span class="identifier">single_thread_model</span><span class="special">,</span> <span class="identifier">FeaturesT</span><span class="special">></span><span class="special">;</span> 68 69 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> FinalT<span class="special">,</span> <span class="keyword">typename</span> ThreadingModelT<span class="special">></span> 70 <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_logger.html" title="Class template basic_logger">basic_logger</a><span class="special">;</span> 71 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> FinalT<span class="special">,</span> <span class="keyword">typename</span> ThreadingModelT<span class="special">></span> 72 <span class="keyword">void</span> <a class="link" href="boost/log/sources/swap_idm46079580004400.html" title="Function template swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="boost/log/sources/basic_logger.html" title="Class template basic_logger">basic_logger</a><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">FinalT</span><span class="special">,</span> <span class="identifier">ThreadingModelT</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> 73 <a class="link" href="boost/log/sources/basic_logger.html" title="Class template basic_logger">basic_logger</a><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">FinalT</span><span class="special">,</span> <span class="identifier">ThreadingModelT</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 74 <span class="special">}</span> 75 <span class="special">}</span> 76<span class="special">}</span></pre> 77</div> 78<div class="section"> 79<div class="titlepage"><div><div><h4 class="title"> 80<a name="header.boost.log.sources.channel_feature_hpp"></a>Header <<a href="../../../../boost/log/sources/channel_feature.hpp" target="_top">boost/log/sources/channel_feature.hpp</a>></h4></div></div></div> 81<p>Andrey Semashev </p> 82<p> 83 84</p> 85<p>28.02.2008</p> 86<p> 87 88The header contains implementation of a channel support feature. </p> 89<pre class="synopsis"> 90 91<a class="link" href="BOOST_LOG_STREAM_CHANNEL.html" title="Macro BOOST_LOG_STREAM_CHANNEL">BOOST_LOG_STREAM_CHANNEL</a>(logger, chan) 92<a class="link" href="BOOST_LOG_CHANNEL.html" title="Macro BOOST_LOG_CHANNEL">BOOST_LOG_CHANNEL</a>(logger, chan)</pre> 93<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 94 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 95 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 96 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BaseT<span class="special">,</span> <span class="keyword">typename</span> ChannelT<span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_channel_logger.html" title="Class template basic_channel_logger">basic_channel_logger</a><span class="special">;</span> 97 98 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="boost/log/sources/channel.html" title="Struct template channel">channel</a><span class="special">;</span> 99 <span class="special">}</span> 100 <span class="special">}</span> 101<span class="special">}</span></pre> 102</div> 103<div class="section"> 104<div class="titlepage"><div><div><h4 class="title"> 105<a name="header.boost.log.sources.channel_logger_hpp"></a>Header <<a href="../../../../boost/log/sources/channel_logger.hpp" target="_top">boost/log/sources/channel_logger.hpp</a>></h4></div></div></div> 106<p>Andrey Semashev </p> 107<p> 108 109</p> 110<p>28.02.2008</p> 111<p> 112 113The header contains implementation of a logger with channel support. </p> 114<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 115 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 116 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 117 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/channel_logger.html" title="Class template channel_logger">channel_logger</a><span class="special">;</span> 118 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/channel_logger_mt.html" title="Class template channel_logger_mt">channel_logger_mt</a><span class="special">;</span> 119 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/wchannel_logger.html" title="Class template wchannel_logger">wchannel_logger</a><span class="special">;</span> 120 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/wchannel_logger_mt.html" title="Class template wchannel_logger_mt">wchannel_logger_mt</a><span class="special">;</span> 121 <span class="special">}</span> 122 <span class="special">}</span> 123<span class="special">}</span></pre> 124</div> 125<div class="section"> 126<div class="titlepage"><div><div><h4 class="title"> 127<a name="header.boost.log.sources.exception_handler_feature_hpp"></a>Header <<a href="../../../../boost/log/sources/exception_handler_feature.hpp" target="_top">boost/log/sources/exception_handler_feature.hpp</a>></h4></div></div></div> 128<p>Andrey Semashev </p> 129<p> 130 131</p> 132<p>17.07.2009</p> 133<p> 134 135The header contains implementation of an exception handler support feature. </p> 136<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 137 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 138 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 139 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BaseT<span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_ex_idm46079580584800.html" title="Class template basic_exception_handler_logger">basic_exception_handler_logger</a><span class="special">;</span> 140 141 <span class="keyword">struct</span> <a class="link" href="boost/log/sources/exception_handler.html" title="Struct exception_handler">exception_handler</a><span class="special">;</span> 142 <span class="special">}</span> 143 <span class="special">}</span> 144<span class="special">}</span></pre> 145</div> 146<div class="section"> 147<div class="titlepage"><div><div><h4 class="title"> 148<a name="header.boost.log.sources.features_hpp"></a>Header <<a href="../../../../boost/log/sources/features.hpp" target="_top">boost/log/sources/features.hpp</a>></h4></div></div></div> 149<p>Andrey Semashev </p> 150<p> 151 152</p> 153<p>17.07.2009</p> 154<p> 155 156The header contains definition of a features list class template. </p> 157<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 158 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 159 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 160 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span><span class="special">...</span> FeaturesT<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="boost/log/sources/features.html" title="Struct template features">features</a><span class="special">;</span> 161 <span class="special">}</span> 162 <span class="special">}</span> 163<span class="special">}</span></pre> 164</div> 165<div class="section"> 166<div class="titlepage"><div><div><h4 class="title"> 167<a name="header.boost.log.sources.global_logger_storage_hpp"></a>Header <<a href="../../../../boost/log/sources/global_logger_storage.hpp" target="_top">boost/log/sources/global_logger_storage.hpp</a>></h4></div></div></div> 168<p>Andrey Semashev </p> 169<p> 170 171</p> 172<p>21.04.2008</p> 173<p> 174 175The header contains implementation of facilities to declare global loggers. </p> 176<pre class="synopsis"> 177 178<a class="link" href="BOOST_LOG_GLOBAL_LOGGER.html" title="Macro BOOST_LOG_GLOBAL_LOGGER">BOOST_LOG_GLOBAL_LOGGER</a>(tag_name, logger) 179<a class="link" href="BOOST_LO_idm46079577708224.html" title="Macro BOOST_LOG_GLOBAL_LOGGER_INIT">BOOST_LOG_GLOBAL_LOGGER_INIT</a>(tag_name, logger) 180<a class="link" href="BOOST_LO_idm46079577706240.html" title="Macro BOOST_LOG_GLOBAL_LOGGER_DEFAULT">BOOST_LOG_GLOBAL_LOGGER_DEFAULT</a>(tag_name, logger) 181<a class="link" href="BOOST_LO_idm46079577704240.html" title="Macro BOOST_LOG_GLOBAL_LOGGER_CTOR_ARGS">BOOST_LOG_GLOBAL_LOGGER_CTOR_ARGS</a>(tag_name, logger, args) 182<a class="link" href="BOOST_LO_idm46079577701808.html" title="Macro BOOST_LOG_INLINE_GLOBAL_LOGGER_INIT">BOOST_LOG_INLINE_GLOBAL_LOGGER_INIT</a>(tag_name, logger) 183<a class="link" href="BOOST_LO_idm46079577699824.html" title="Macro BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT">BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT</a>(tag_name, logger) 184<a class="link" href="BOOST_LO_idm46079577697840.html" title="Macro BOOST_LOG_INLINE_GLOBAL_LOGGER_CTOR_ARGS">BOOST_LOG_INLINE_GLOBAL_LOGGER_CTOR_ARGS</a>(tag_name, logger, args)</pre> 185</div> 186<div class="section"> 187<div class="titlepage"><div><div><h4 class="title"> 188<a name="header.boost.log.sources.logger_hpp"></a>Header <<a href="../../../../boost/log/sources/logger.hpp" target="_top">boost/log/sources/logger.hpp</a>></h4></div></div></div> 189<p>Andrey Semashev </p> 190<p> 191 192</p> 193<p>08.03.2007</p> 194<p> 195 196The header contains implementation of a simplistic logger with no features. </p> 197<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 198 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 199 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 200 <span class="keyword">class</span> <a class="link" href="boost/log/sources/logger.html" title="Class logger">logger</a><span class="special">;</span> 201 <span class="keyword">class</span> <a class="link" href="boost/log/sources/logger_mt.html" title="Class logger_mt">logger_mt</a><span class="special">;</span> 202 <span class="keyword">class</span> <a class="link" href="boost/log/sources/wlogger.html" title="Class wlogger">wlogger</a><span class="special">;</span> 203 <span class="keyword">class</span> <a class="link" href="boost/log/sources/wlogger_mt.html" title="Class wlogger_mt">wlogger_mt</a><span class="special">;</span> 204 <span class="special">}</span> 205 <span class="special">}</span> 206<span class="special">}</span></pre> 207</div> 208<div class="section"> 209<div class="titlepage"><div><div><h4 class="title"> 210<a name="header.boost.log.sources.record_ostream_hpp"></a>Header <<a href="../../../../boost/log/sources/record_ostream.hpp" target="_top">boost/log/sources/record_ostream.hpp</a>></h4></div></div></div> 211<p>Andrey Semashev </p> 212<p> 213 214</p> 215<p>09.03.2009</p> 216<p> 217 218This header contains a wrapper class around a logging record that allows to compose the record message with a streaming expression. </p> 219<pre class="synopsis"> 220 221<a class="link" href="BOOST_LOG_STREAM.html" title="Macro BOOST_LOG_STREAM">BOOST_LOG_STREAM</a>(logger) 222<a class="link" href="BOOST_LO_idm46079577563824.html" title="Macro BOOST_LOG_STREAM_WITH_PARAMS">BOOST_LOG_STREAM_WITH_PARAMS</a>(logger, params_seq) 223<a class="link" href="BOOST_LOG.html" title="Macro BOOST_LOG">BOOST_LOG</a>(logger) 224<a class="link" href="BOOST_LOG_WITH_PARAMS.html" title="Macro BOOST_LOG_WITH_PARAMS">BOOST_LOG_WITH_PARAMS</a>(logger, params_seq)</pre> 225<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 226 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 227 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/basic_record_ostream.html" title="Class template basic_record_ostream">basic_record_ostream</a><span class="special">;</span> 228 229 <span class="keyword">typedef</span> <a class="link" href="boost/log/basic_record_ostream.html" title="Class template basic_record_ostream">basic_record_ostream</a><span class="special"><</span> <span class="keyword">char</span> <span class="special">></span> <a name="boost.log.record_ostream"></a><span class="identifier">record_ostream</span><span class="special">;</span> <span class="comment">// Convenience typedef for narrow-character logging. </span> 230 <span class="keyword">typedef</span> <a class="link" href="boost/log/basic_record_ostream.html" title="Class template basic_record_ostream">basic_record_ostream</a><span class="special"><</span> <span class="keyword">wchar_t</span> <span class="special">></span> <a name="boost.log.wrecord_ostream"></a><span class="identifier">wrecord_ostream</span><span class="special">;</span> <span class="comment">// Convenience typedef for wide-character logging. </span> 231 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 232 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577588240.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span><span class="special">)</span><span class="special">;</span> 233 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 234 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577584480.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 235 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 236 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577580720.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 237 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 238 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577576960.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&&</span><span class="special">,</span> <span class="identifier">T</span><span class="special">)</span><span class="special">;</span> 239 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 240 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577573200.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&&</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 241 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> StreamT<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> 242 <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a class="link" href="boost/log/operator_idm46079577569440.html" title="Function template operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">StreamT</span> <span class="special">&&</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 243 <span class="special">}</span> 244<span class="special">}</span></pre> 245</div> 246<div class="section"> 247<div class="titlepage"><div><div><h4 class="title"> 248<a name="header.boost.log.sources.severity_channel_logger_hpp"></a>Header <<a href="../../../../boost/log/sources/severity_channel_logger.hpp" target="_top">boost/log/sources/severity_channel_logger.hpp</a>></h4></div></div></div> 249<p>Andrey Semashev </p> 250<p> 251 252</p> 253<p>28.02.2008</p> 254<p> 255 256The header contains implementation of a logger with severity level and channel support. </p> 257<pre class="synopsis"> 258 259<a class="link" href="BOOST_LO_idm46079577493968.html" title="Macro BOOST_LOG_STREAM_CHANNEL_SEV">BOOST_LOG_STREAM_CHANNEL_SEV</a>(logger, chan, lvl) 260<a class="link" href="BOOST_LOG_CHANNEL_SEV.html" title="Macro BOOST_LOG_CHANNEL_SEV">BOOST_LOG_CHANNEL_SEV</a>(logger, chan, lvl)</pre> 261<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 262 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 263 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 264 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> 265 <span class="keyword">class</span> <a class="link" href="boost/log/sources/severity_channel_logger.html" title="Class template severity_channel_logger">severity_channel_logger</a><span class="special">;</span> 266 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">></span> 267 <span class="keyword">class</span> <a class="link" href="boost/log/sources/severity_channel_logger_mt.html" title="Class template severity_channel_logger_mt">severity_channel_logger_mt</a><span class="special">;</span> 268 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span> 269 <span class="keyword">class</span> <a class="link" href="boost/log/sources/wseverity_channel_logger.html" title="Class template wseverity_channel_logger">wseverity_channel_logger</a><span class="special">;</span> 270 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> ChannelT <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">wstring</span><span class="special">></span> 271 <span class="keyword">class</span> <a class="link" href="boost/log/sources/wseverit_idm46079577509680.html" title="Class template wseverity_channel_logger_mt">wseverity_channel_logger_mt</a><span class="special">;</span> 272 <span class="special">}</span> 273 <span class="special">}</span> 274<span class="special">}</span></pre> 275</div> 276<div class="section"> 277<div class="titlepage"><div><div><h4 class="title"> 278<a name="header.boost.log.sources.severity_feature_hpp"></a>Header <<a href="../../../../boost/log/sources/severity_feature.hpp" target="_top">boost/log/sources/severity_feature.hpp</a>></h4></div></div></div> 279<p>Andrey Semashev </p> 280<p> 281 282</p> 283<p>08.03.2007</p> 284<p> 285 286The header contains implementation of a severity level support feature. </p> 287<pre class="synopsis"> 288 289<a class="link" href="BOOST_LOG_STREAM_SEV.html" title="Macro BOOST_LOG_STREAM_SEV">BOOST_LOG_STREAM_SEV</a>(logger, lvl) 290<a class="link" href="BOOST_LOG_SEV.html" title="Macro BOOST_LOG_SEV">BOOST_LOG_SEV</a>(logger, lvl)</pre> 291<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 292 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 293 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 294 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BaseT<span class="special">,</span> <span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/basic_severity_logger.html" title="Class template basic_severity_logger">basic_severity_logger</a><span class="special">;</span> 295 296 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="boost/log/sources/severity.html" title="Struct template severity">severity</a><span class="special">;</span> 297 <span class="special">}</span> 298 <span class="special">}</span> 299<span class="special">}</span></pre> 300</div> 301<div class="section"> 302<div class="titlepage"><div><div><h4 class="title"> 303<a name="header.boost.log.sources.severity_logger_hpp"></a>Header <<a href="../../../../boost/log/sources/severity_logger.hpp" target="_top">boost/log/sources/severity_logger.hpp</a>></h4></div></div></div> 304<p>Andrey Semashev </p> 305<p> 306 307</p> 308<p>08.03.2007</p> 309<p> 310 311The header contains implementation of a logger with severity level support. </p> 312<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 313 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 314 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 315 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/severity_logger.html" title="Class template severity_logger">severity_logger</a><span class="special">;</span> 316 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/severity_logger_mt.html" title="Class template severity_logger_mt">severity_logger_mt</a><span class="special">;</span> 317 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/wseverity_logger.html" title="Class template wseverity_logger">wseverity_logger</a><span class="special">;</span> 318 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> LevelT <span class="special">=</span> <span class="keyword">int</span><span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/log/sources/wseverity_logger_mt.html" title="Class template wseverity_logger_mt">wseverity_logger_mt</a><span class="special">;</span> 319 <span class="special">}</span> 320 <span class="special">}</span> 321<span class="special">}</span></pre> 322</div> 323<div class="section"> 324<div class="titlepage"><div><div><h4 class="title"> 325<a name="header.boost.log.sources.threading_models_hpp"></a>Header <<a href="../../../../boost/log/sources/threading_models.hpp" target="_top">boost/log/sources/threading_models.hpp</a>></h4></div></div></div> 326<p>Andrey Semashev </p> 327<p> 328 329</p> 330<p>04.10.2008</p> 331<p> 332 333The header contains definition of threading models that can be used in loggers. The header also provides a number of tags that can be used to express lock requirements on a function callee. </p> 334<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> 335 <span class="keyword">namespace</span> <span class="identifier">log</span> <span class="special">{</span> 336 <span class="keyword">namespace</span> <span class="identifier">sources</span> <span class="special">{</span> 337 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> MutexT<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="boost/log/sources/multi_thread_model.html" title="Struct template multi_thread_model">multi_thread_model</a><span class="special">;</span> 338 <span class="keyword">struct</span> <a class="link" href="boost/log/sources/single_thread_model.html" title="Struct single_thread_model">single_thread_model</a><span class="special">;</span> 339 <span class="keyword">void</span> <a class="link" href="boost/log/sources/swap_idm46079577313552.html" title="Function swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="boost/log/sources/single_thread_model.html" title="Struct single_thread_model">single_thread_model</a> <span class="special">&</span><span class="special">,</span> <a class="link" href="boost/log/sources/single_thread_model.html" title="Struct single_thread_model">single_thread_model</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 340 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> MutexT<span class="special">></span> 341 <span class="keyword">void</span> <a class="link" href="boost/log/sources/swap_idm46079577310752.html" title="Function template swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="boost/log/sources/multi_thread_model.html" title="Struct template multi_thread_model">multi_thread_model</a><span class="special"><</span> <span class="identifier">MutexT</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> 342 <a class="link" href="boost/log/sources/multi_thread_model.html" title="Struct template multi_thread_model">multi_thread_model</a><span class="special"><</span> <span class="identifier">MutexT</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 343 <span class="special">}</span> 344 <span class="special">}</span> 345<span class="special">}</span></pre> 346</div> 347</div> 348<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 349<td align="left"></td> 350<td align="right"><div class="copyright-footer">Copyright © 2007-2019 Andrey Semashev<p> 351 Distributed under the Boost Software License, Version 1.0. (See accompanying 352 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>). 353 </p> 354</div></td> 355</tr></table> 356<hr> 357<div class="spirit-nav"> 358<a accesskey="p" href="boost/log/expressions/record.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="log/reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/log/sources/basic_composite_logger.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a> 359</div> 360</body> 361</html> 362