equivalent is used.
</p>
<p>
- You can also use the <code class="computeroutput"><a class="link" href="../../boost/log/make_att_idm45185961538368.html" title="Function template make_attr_ordering">make_attr_ordering</a></code> generator
+ You can also use the <code class="computeroutput"><a class="link" href="../../boost/log/make_att_idm45711343139040.html" title="Function template make_attr_ordering">make_attr_ordering</a></code> generator
function to automatically generate the <code class="computeroutput"><a class="link" href="../../boost/log/attribute_value_ordering.html" title="Class template attribute_value_ordering">attribute_value_ordering</a></code>
instance based on the attribute value name and the ordering function. This
might be useful if the ordering function has a non-trivial type, like the
by the library, therefore in order to reacquire the exception object it
has to rethrow it. The header defines an <code class="computeroutput"><a class="link" href="../../boost/log/exception_handler.html" title="Class template exception_handler">exception_handler</a></code>
template functor that does just that and then forwards the exception object
- to a unary user-defined functional object. The <code class="computeroutput"><a class="link" href="../../boost/log/make_exc_idm45185968681776.html" title="Function template make_exception_handler">make_exception_handler</a></code>
+ to a unary user-defined functional object. The <code class="computeroutput"><a class="link" href="../../boost/log/make_exc_idm45711349902752.html" title="Function template make_exception_handler">make_exception_handler</a></code>
function can be used to simplify the handler construction. All expected
exception types should be specified explicitly in the call, in the order
they would appear in the <code class="computeroutput"><span class="keyword">catch</span></code>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><code class="computeroutput"><a class="link" href="../../utilities.html#header.boost.log.utility.manipulators.to_log_hpp" title="Header <boost/log/utility/manipulators/to_log.hpp>">boost/log/utility/manipulators/to_log.hpp</a></code><span class="special">></span>
</pre>
<p>
- The <code class="computeroutput"><a class="link" href="../../boost/log/to_log_idm45185961654512.html" title="Function template to_log">to_log</a></code>
+ The <code class="computeroutput"><a class="link" href="../../boost/log/to_log_idm45711343255184.html" title="Function template to_log">to_log</a></code>
function creates a stream manipulator that simply outputs the adopted
value to the stream. By default its behavior is equivalent to simply
putting the value to the stream. However, the user is able to overload
value contexts as well. The library uses this feature to allow different
formatting ruled for different attribute values, even if the stored value
type is the same. To do so one has to specify an explicit template argument
- for <code class="computeroutput"><a class="link" href="../../boost/log/to_log_idm45185961654512.html" title="Function template to_log">to_log</a></code>,
+ for <code class="computeroutput"><a class="link" href="../../boost/log/to_log_idm45711343255184.html" title="Function template to_log">to_log</a></code>,
a tag type, which will be embedded into the manipulator type and thus
will allow to define different insertion operators:
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><code class="computeroutput"><a class="link" href="../../utilities.html#header.boost.log.utility.manipulators.dump_hpp" title="Header <boost/log/utility/manipulators/dump.hpp>">boost/log/utility/manipulators/dump.hpp</a></code><span class="special">></span>
</pre>
<p>
- The <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45185961697632.html" title="Function template dump">dump</a></code>
+ The <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45711343298304.html" title="Function template dump">dump</a></code>
function creates a manipulator that outputs binary contents of a contiguous
memory region. This can be useful for logging some low level binary data,
such as encoded network packets or entries of a binary file. The use
<span class="special">}</span>
</pre>
<p>
- There is another manipulator called <code class="computeroutput"><a class="link" href="../../boost/log/dump_ele_idm45185961692160.html" title="Function template dump_elements">dump_elements</a></code> for printing
+ There is another manipulator called <code class="computeroutput"><a class="link" href="../../boost/log/dump_ele_idm45711343292832.html" title="Function template dump_elements">dump_elements</a></code> for printing
binary representation of non-byte array elements. The special manipulator
for this case is necessary because the units of the size argument of
- <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45185961697632.html" title="Function template dump">dump</a></code>
- can be confusing (is it in bytes or in elements?). Therefore <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45185961697632.html" title="Function template dump">dump</a></code>
- will not compile when used for non-byte input data. <code class="computeroutput"><a class="link" href="../../boost/log/dump_ele_idm45185961692160.html" title="Function template dump_elements">dump_elements</a></code> accepts
+ <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45711343298304.html" title="Function template dump">dump</a></code>
+ can be confusing (is it in bytes or in elements?). Therefore <code class="computeroutput"><a class="link" href="../../boost/log/dump_idm45711343298304.html" title="Function template dump">dump</a></code>
+ will not compile when used for non-byte input data. <code class="computeroutput"><a class="link" href="../../boost/log/dump_ele_idm45711343292832.html" title="Function template dump_elements">dump_elements</a></code> accepts
the same arguments, and its size-related arguments always designate the
number of elements to process.
</p>
<p>
Pretty easy, isn't it? There is also the <code class="computeroutput"><span class="identifier">wadd_console_log</span></code>
function for wide-character console. If you want to put logs to some
- other standard stream, you can pass the stream to the <code class="computeroutput"><a class="link" href="../../boost/log/add_cons_idm45185961514512.html" title="Function template add_console_log">add_console_log</a></code> function
+ other standard stream, you can pass the stream to the <code class="computeroutput"><a class="link" href="../../boost/log/add_cons_idm45711343115184.html" title="Function template add_console_log">add_console_log</a></code> function
as an argument. E.g. enabling logging to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span></code>
instead of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">clog</span></code> would look like this:
</p>
<span class="special">}</span>
</pre>
<p>
- The <code class="computeroutput"><a class="link" href="../../boost/log/add_cons_idm45185961514512.html" title="Function template add_console_log">add_console_log</a></code>
+ The <code class="computeroutput"><a class="link" href="../../boost/log/add_cons_idm45711343115184.html" title="Function template add_console_log">add_console_log</a></code>
and <code class="computeroutput"><a class="link" href="../../boost/log/add_file_log.html" title="Function template add_file_log">add_file_log</a></code>
functions do not conflict and may be combined freely, so it is possible
to set up logging to the console and a couple of files, including filtering
<a class="link" href="sink_backends.html#log.detailed.sink_backends.event_log" title="Windows event log backends">SimpleEventLog</a>,
<a class="link" href="sink_backends.html#log.detailed.sink_backends.debugger" title="Windows debugger output backend">Debugger</a>.
Also, user-defined sink names may also be supported if registered
- by calling <code class="computeroutput"><a class="link" href="../../boost/log/register_idm45185961246368.html" title="Function template register_sink_factory">register_sink_factory</a></code>.
+ by calling <code class="computeroutput"><a class="link" href="../../boost/log/register_idm45711342847040.html" title="Function template register_sink_factory">register_sink_factory</a></code>.
See <a class="link" href="../extension/settings.html#log.extension.settings.sinks" title="Adding support for user-defined sinks">this</a>
section on how to add support for new sinks.
</p>