index.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  4. <title>Chapter&#160;1.&#160;Boost.Log v2</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&#160;1.&#160;Boost.Log v2">
  8. <link rel="next" href="log/how_to_read.html" title="How to read the documentation">
  9. </head>
  10. <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
  11. <table cellpadding="2" width="100%"><tr><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td></tr></table>
  12. <hr>
  13. <div class="spirit-nav"><a accesskey="n" href="log/how_to_read.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
  14. <div class="chapter">
  15. <div class="titlepage"><div>
  16. <div><h2 class="title">
  17. <a name="log"></a>Chapter&#160;1.&#160;Boost.Log v2</h2></div>
  18. <div><div class="author"><h3 class="author">
  19. <span class="firstname">Andrey</span> <span class="surname">Semashev</span>
  20. </h3></div></div>
  21. <div><p class="copyright">Copyright &#169; 2007-2016 Andrey Semashev</p></div>
  22. <div><div class="legalnotice">
  23. <a name="log.legal"></a><p>
  24. Distributed under the Boost Software License, Version 1.0. (See accompanying
  25. 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>).
  26. </p>
  27. </div></div>
  28. </div></div>
  29. <div class="toc">
  30. <p><b>Table of Contents</b></p>
  31. <dl class="toc">
  32. <dt><span class="section"><a href="index.html#log.moti">Motivation</a></span></dt>
  33. <dt><span class="section"><a href="log/how_to_read.html">How to read the documentation</a></span></dt>
  34. <dt><span class="section"><a href="log/installation.html">Installation and compatibility</a></span></dt>
  35. <dd><dl>
  36. <dt><span class="section"><a href="log/installation.html#log.installation.supported_compilers">Supported compilers
  37. and platforms</a></span></dt>
  38. <dt><span class="section"><a href="log/installation/config.html">Configuring and building the
  39. library</a></span></dt>
  40. </dl></dd>
  41. <dt><span class="section"><a href="log/defs.html">Definitions</a></span></dt>
  42. <dt><span class="section"><a href="log/design.html">Design overview</a></span></dt>
  43. <dt><span class="section"><a href="log/tutorial.html">Tutorial</a></span></dt>
  44. <dd><dl>
  45. <dt><span class="section"><a href="log/tutorial.html#log.tutorial.trivial">Trivial logging</a></span></dt>
  46. <dt><span class="section"><a href="log/tutorial/trivial_filtering.html">Trivial logging with
  47. filters</a></span></dt>
  48. <dt><span class="section"><a href="log/tutorial/sinks.html">Setting up sinks</a></span></dt>
  49. <dt><span class="section"><a href="log/tutorial/sources.html">Creating loggers and writing logs</a></span></dt>
  50. <dt><span class="section"><a href="log/tutorial/attributes.html">Adding more information to log:
  51. Attributes</a></span></dt>
  52. <dt><span class="section"><a href="log/tutorial/formatters.html">Log record formatting</a></span></dt>
  53. <dt><span class="section"><a href="log/tutorial/advanced_filtering.html">Filtering revisited</a></span></dt>
  54. <dt><span class="section"><a href="log/tutorial/wide_char.html">Wide character logging</a></span></dt>
  55. </dl></dd>
  56. <dt><span class="section"><a href="log/detailed.html">Detailed features description</a></span></dt>
  57. <dd><dl>
  58. <dt><span class="section"><a href="log/detailed.html#log.detailed.core">Core facilities</a></span></dt>
  59. <dt><span class="section"><a href="log/detailed/sources.html">Logging sources</a></span></dt>
  60. <dt><span class="section"><a href="log/detailed/sink_frontends.html">Sink frontends</a></span></dt>
  61. <dt><span class="section"><a href="log/detailed/sink_backends.html">Sink backends</a></span></dt>
  62. <dt><span class="section"><a href="log/detailed/expressions.html">Lambda expressions</a></span></dt>
  63. <dt><span class="section"><a href="log/detailed/attributes.html">Attributes</a></span></dt>
  64. <dt><span class="section"><a href="log/detailed/utilities.html">Utilities</a></span></dt>
  65. </dl></dd>
  66. <dt><span class="section"><a href="log/extension.html">Extending the library</a></span></dt>
  67. <dd><dl>
  68. <dt><span class="section"><a href="log/extension.html#log.extension.sinks">Writing your own sinks</a></span></dt>
  69. <dt><span class="section"><a href="log/extension/sources.html">Writing your own sources</a></span></dt>
  70. <dt><span class="section"><a href="log/extension/attributes.html">Writing your own attributes</a></span></dt>
  71. <dt><span class="section"><a href="log/extension/settings.html">Extending library settings support</a></span></dt>
  72. </dl></dd>
  73. <dt><span class="section"><a href="log/rationale.html">Rationale and FAQ</a></span></dt>
  74. <dd><dl>
  75. <dt><span class="section"><a href="log/rationale.html#log.rationale.why_str_lit">Why string literals as scope
  76. names?</a></span></dt>
  77. <dt><span class="section"><a href="log/rationale/why_weak_scoped_attributes.html">Why scoped
  78. attributes don't override existing attributes?</a></span></dt>
  79. <dt><span class="section"><a href="log/rationale/why_weak_record_ordering.html">Why log records
  80. are weakly ordered in a multithreaded application?</a></span></dt>
  81. <dt><span class="section"><a href="log/rationale/why_attribute_manips_dont_affect_filters.html">Why
  82. attributes set with stream manipulators do not participate in filtering?</a></span></dt>
  83. <dt><span class="section"><a href="log/rationale/why_not_lazy_streaming.html">Why not using lazy
  84. streaming?</a></span></dt>
  85. <dt><span class="section"><a href="log/rationale/why_not_log4j.html">Why not using hierarchy
  86. of loggers, like in log4j? Why not Boost.Log4j? Etc.</a></span></dt>
  87. <dt><span class="section"><a href="log/rationale/fork_support.html">Does Boost.Log support process
  88. forking?</a></span></dt>
  89. <dt><span class="section"><a href="log/rationale/init_term_support.html">Does Boost.Log support
  90. logging at process initialization and termination?</a></span></dt>
  91. <dt><span class="section"><a href="log/rationale/why_crash_on_term.html">Why my application crashes
  92. on process termination when file sinks are used?</a></span></dt>
  93. <dt><span class="section"><a href="log/rationale/namespace_mangling.html">Why my application
  94. fails to link with Boost.Log? What's the fuss about library namespaces?</a></span></dt>
  95. <dt><span class="section"><a href="log/rationale/msvc_link_fails_lnk1123.html">Why MSVC 2010
  96. fails to link the library with error LNK1123: failure during conversion to
  97. COFF: file invalid or corrupt?</a></span></dt>
  98. </dl></dd>
  99. <dt><span class="section"><a href="log/reference.html">Reference</a></span></dt>
  100. <dd><dl>
  101. <dt><span class="section"><a href="log/reference.html#top_level_headers">Top level headers</a></span></dt>
  102. <dt><span class="section"><a href="core_components.html">Core components</a></span></dt>
  103. <dt><span class="section"><a href="attributes.html">Attributes</a></span></dt>
  104. <dt><span class="section"><a href="expressions.html">Expressions</a></span></dt>
  105. <dt><span class="section"><a href="logging_sources.html">Logging sources</a></span></dt>
  106. <dt><span class="section"><a href="sinks.html">Sinks</a></span></dt>
  107. <dt><span class="section"><a href="utilities.html">Utilities</a></span></dt>
  108. <dt><span class="section"><a href="other_libraries_support_layer.html">Other libraries support layer</a></span></dt>
  109. </dl></dd>
  110. <dt><span class="section"><a href="log/changelog.html">Changelog</a></span></dt>
  111. <dt><span class="section"><a href="log/todo.html">TODO in future releases</a></span></dt>
  112. <dt><span class="section"><a href="log/acknowledgments.html">Acknowledgments</a></span></dt>
  113. </dl>
  114. </div>
  115. <div class="section">
  116. <div class="titlepage"><div><div><h2 class="title" style="clear: both">
  117. <a name="log.moti"></a><a class="link" href="index.html#log.moti" title="Motivation">Motivation</a>
  118. </h2></div></div></div>
  119. <p>
  120. Today applications grow rapidly, becoming complicated and difficult to test
  121. and debug. Most of the time applications run on a remote site, leaving the
  122. developer little chance to monitor their execution and figure out the reasons
  123. for their failure, once it should happen. Moreover, even the local debugging
  124. may become problematic if the application behavior depends heavily on asynchronous
  125. side events, such as a device feedback or another process activity.
  126. </p>
  127. <p>
  128. This is where logging can help. The application stores all essential information
  129. about its execution to a log, and when something goes wrong this information
  130. can be used to analyze the program behavior and make the necessary corrections.
  131. There are other very useful applications of logging, such as gathering statistical
  132. information and highlighting events (i.e. indicating that some situation has
  133. occurred or that the application is experiencing some problems). These tasks
  134. have proved to be vital for many real-world industrial applications.
  135. </p>
  136. <p>
  137. This library aims to make logging significantly easier for the application
  138. developer. It provides a wide range of out-of-the-box tools along with public
  139. interfaces for extending the library. The main goals of the library are:
  140. </p>
  141. <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
  142. <li class="listitem">
  143. Simplicity. A small example code snippet should be enough to get the feel
  144. of the library and be ready to use its basic features.
  145. </li>
  146. <li class="listitem">
  147. Extensibility. A user should be able to extend functionality of the library
  148. for collecting and storing information into logs.
  149. </li>
  150. <li class="listitem">
  151. Performance. The library should have as little performance impact on the
  152. user's application as possible.
  153. </li>
  154. </ul></div>
  155. </div>
  156. </div>
  157. <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
  158. <td align="left"></td>
  159. <td align="right"><div class="copyright-footer"></div></td>
  160. </tr></table>
  161. <hr>
  162. <div class="spirit-nav"><a accesskey="n" href="log/how_to_read.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
  163. </body>
  164. </html>