log4r 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. data/README +3 -3
  2. data/Rakefile +2 -2
  3. data/doc/rdoc/Log4r.html +519 -0
  4. data/doc/rdoc/Log4r/BasicFormatter.html +388 -0
  5. data/doc/rdoc/Log4r/ConfigError.html +225 -0
  6. data/doc/rdoc/Log4r/Configurator.html +1068 -0
  7. data/doc/rdoc/Log4r/DateFileOutputter.html +479 -0
  8. data/doc/rdoc/Log4r/DefaultFormatter.html +223 -0
  9. data/doc/rdoc/Log4r/EmailOutputter.html +654 -0
  10. data/doc/rdoc/Log4r/FileOutputter.html +346 -0
  11. data/doc/rdoc/Log4r/Formatter.html +309 -0
  12. data/doc/rdoc/Log4r/GDC.html +346 -0
  13. data/doc/rdoc/Log4r/GDC_rb.html +80 -0
  14. data/doc/rdoc/Log4r/IOOutputter.html +410 -0
  15. data/doc/rdoc/Log4r/Log4jXmlFormatter.html +337 -0
  16. data/doc/rdoc/Log4r/Log4rConfig.html +211 -0
  17. data/doc/rdoc/Log4r/Log4rTools.html +388 -0
  18. data/doc/rdoc/Log4r/LogEvent.html +378 -0
  19. data/doc/rdoc/Log4r/LogServer.html +340 -0
  20. data/doc/rdoc/Log4r/Logger.html +1150 -0
  21. data/doc/rdoc/Log4r/Logger/LoggerFactory.html +218 -0
  22. data/doc/rdoc/Log4r/Logger/Repository.html +225 -0
  23. data/doc/rdoc/Log4r/MDC.html +424 -0
  24. data/doc/rdoc/Log4r/MDC_rb.html +83 -0
  25. data/doc/rdoc/Log4r/NDC.html +632 -0
  26. data/doc/rdoc/Log4r/NDC_rb.html +110 -0
  27. data/doc/rdoc/Log4r/ObjectFormatter.html +280 -0
  28. data/doc/rdoc/Log4r/Outputter.html +934 -0
  29. data/doc/rdoc/Log4r/Outputter/OutputterFactory.html +218 -0
  30. data/doc/rdoc/Log4r/Outputter/consoleoutputters_rb.html +57 -0
  31. data/doc/rdoc/Log4r/Outputter/datefileoutputter_rb.html +93 -0
  32. data/doc/rdoc/Log4r/Outputter/emailoutputter_rb.html +179 -0
  33. data/doc/rdoc/Log4r/Outputter/fileoutputter_rb.html +64 -0
  34. data/doc/rdoc/Log4r/Outputter/iooutputter_rb.html +59 -0
  35. data/doc/rdoc/Log4r/Outputter/outputter_rb.html +222 -0
  36. data/doc/rdoc/Log4r/Outputter/outputterfactory_rb.html +62 -0
  37. data/doc/rdoc/Log4r/Outputter/remoteoutputter_rb.html +59 -0
  38. data/doc/rdoc/Log4r/Outputter/rollingfileoutputter_rb.html +66 -0
  39. data/doc/rdoc/Log4r/Outputter/staticoutputter_rb.html +55 -0
  40. data/doc/rdoc/Log4r/Outputter/syslogoutputter_rb.html +110 -0
  41. data/doc/rdoc/Log4r/Outputter/udpoutputter_rb.html +220 -0
  42. data/doc/rdoc/Log4r/PatternFormatter.html +404 -0
  43. data/doc/rdoc/Log4r/ROMPClient.html +211 -0
  44. data/doc/rdoc/Log4r/ROMPServer.html +211 -0
  45. data/doc/rdoc/Log4r/RemoteOutputter.html +402 -0
  46. data/doc/rdoc/Log4r/RollingFileOutputter.html +551 -0
  47. data/doc/rdoc/Log4r/RootLogger.html +530 -0
  48. data/doc/rdoc/Log4r/SimpleFormatter.html +276 -0
  49. data/doc/rdoc/Log4r/StderrOutputter.html +268 -0
  50. data/doc/rdoc/Log4r/StdoutOutputter.html +268 -0
  51. data/doc/rdoc/Log4r/SyslogOutputter.html +551 -0
  52. data/doc/rdoc/Log4r/UDPOutputter.html +379 -0
  53. data/doc/rdoc/Log4r/YamlConfigurator.html +966 -0
  54. data/doc/rdoc/Log4r/base_rb.html +57 -0
  55. data/doc/rdoc/Log4r/config_rb.html +122 -0
  56. data/doc/rdoc/Log4r/configurator_rb.html +370 -0
  57. data/doc/rdoc/Log4r/formatter/formatter_rb.html +121 -0
  58. data/doc/rdoc/Log4r/formatter/log4jxmlformatter_rb.html +64 -0
  59. data/doc/rdoc/Log4r/formatter/patternformatter_rb.html +239 -0
  60. data/doc/rdoc/Log4r/lib/drbloader_rb.html +57 -0
  61. data/doc/rdoc/Log4r/lib/xmlloader_rb.html +57 -0
  62. data/doc/rdoc/Log4r/logevent_rb.html +55 -0
  63. data/doc/rdoc/Log4r/logger_rb.html +293 -0
  64. data/doc/rdoc/Log4r/loggerfactory_rb.html +66 -0
  65. data/doc/rdoc/Log4r/logserver_rb.html +161 -0
  66. data/doc/rdoc/Log4r/rdoc/GDC.html +175 -0
  67. data/doc/rdoc/Log4r/rdoc/MDC.html +178 -0
  68. data/doc/rdoc/Log4r/rdoc/NDC.html +207 -0
  69. data/doc/rdoc/Log4r/rdoc/configurator.html +462 -0
  70. data/doc/rdoc/Log4r/rdoc/emailoutputter.html +279 -0
  71. data/doc/rdoc/Log4r/rdoc/formatter.html +218 -0
  72. data/doc/rdoc/Log4r/rdoc/log4r.html +286 -0
  73. data/doc/rdoc/Log4r/rdoc/logger.html +382 -0
  74. data/doc/rdoc/Log4r/rdoc/logserver.html +265 -0
  75. data/doc/rdoc/Log4r/rdoc/outputter.html +313 -0
  76. data/doc/rdoc/Log4r/rdoc/patternformatter.html +331 -0
  77. data/doc/rdoc/Log4r/rdoc/syslogoutputter.html +197 -0
  78. data/doc/rdoc/Log4r/rdoc/win32eventoutputter.html +165 -0
  79. data/doc/rdoc/Log4r/rdoc/yamlconfigurator.html +187 -0
  80. data/doc/rdoc/Log4r/repository_rb.html +74 -0
  81. data/doc/rdoc/Log4r/staticlogger_rb.html +55 -0
  82. data/doc/rdoc/Log4r/yamlconfigurator_rb.html +95 -0
  83. data/doc/rdoc/REXML.html +211 -0
  84. data/doc/rdoc/created.rid +1 -0
  85. data/doc/rdoc/images/brick.png +0 -0
  86. data/doc/rdoc/images/brick_link.png +0 -0
  87. data/doc/rdoc/images/bug.png +0 -0
  88. data/doc/rdoc/images/bullet_black.png +0 -0
  89. data/doc/rdoc/images/bullet_toggle_minus.png +0 -0
  90. data/doc/rdoc/images/bullet_toggle_plus.png +0 -0
  91. data/doc/rdoc/images/date.png +0 -0
  92. data/doc/rdoc/images/find.png +0 -0
  93. data/doc/rdoc/images/loadingAnimation.gif +0 -0
  94. data/doc/rdoc/images/macFFBgHack.png +0 -0
  95. data/doc/rdoc/images/package.png +0 -0
  96. data/doc/rdoc/images/page_green.png +0 -0
  97. data/doc/rdoc/images/page_white_text.png +0 -0
  98. data/doc/rdoc/images/page_white_width.png +0 -0
  99. data/doc/rdoc/images/plugin.png +0 -0
  100. data/doc/rdoc/images/ruby.png +0 -0
  101. data/doc/rdoc/images/tag_green.png +0 -0
  102. data/doc/rdoc/images/wrench.png +0 -0
  103. data/doc/rdoc/images/wrench_orange.png +0 -0
  104. data/doc/rdoc/images/zoom.png +0 -0
  105. data/doc/rdoc/index.html +585 -0
  106. data/doc/rdoc/js/darkfish.js +116 -0
  107. data/doc/rdoc/js/jquery.js +32 -0
  108. data/doc/rdoc/js/quicksearch.js +114 -0
  109. data/doc/rdoc/js/thickbox-compressed.js +10 -0
  110. data/doc/rdoc/log4r-rdoc.css +696 -0
  111. data/doc/rdoc/log4r_rb.html +207 -0
  112. data/doc/rdoc/rdoc.css +696 -0
  113. data/examples/rdoc-gen +2 -0
  114. data/src/log4r.rb +2 -2
  115. data/src/log4r/formatter/patternformatter.rb +15 -15
  116. data/src/log4r/outputter/udpoutputter.rb +4 -4
  117. data/tests/testchainsaw.rb +1 -1
  118. metadata +123 -8
  119. data/src/log4r/outputter/datefileoutputter.patch +0 -24
  120. data/src/log4r/outputter/diff +0 -14
  121. data/src/log4r/outputter/new-datefileoutputter.rb +0 -117
@@ -0,0 +1,286 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8
+
9
+ <title>File: log4r [1.1.7 Log4r API]</title>
10
+
11
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet" />
12
+
13
+ <script src="../../js/jquery.js" type="text/javascript"
14
+ charset="utf-8"></script>
15
+ <script src="../../js/thickbox-compressed.js" type="text/javascript"
16
+ charset="utf-8"></script>
17
+ <script src="../../js/quicksearch.js" type="text/javascript"
18
+ charset="utf-8"></script>
19
+ <script src="../../js/darkfish.js" type="text/javascript"
20
+ charset="utf-8"></script>
21
+ </head>
22
+
23
+ <body class="file">
24
+ <div id="metadata">
25
+ <div id="project-metadata">
26
+
27
+
28
+ <div id="fileindex-section" class="section project-section">
29
+ <h3 class="section-header">Files</h3>
30
+ <ul>
31
+
32
+ <li class="file"><a href="../../log4r/rdoc/GDC.html">GDC</a></li>
33
+
34
+ <li class="file"><a href="../../log4r/rdoc/MDC.html">MDC</a></li>
35
+
36
+ <li class="file"><a href="../../log4r/rdoc/NDC.html">NDC</a></li>
37
+
38
+ <li class="file"><a href="../../log4r/rdoc/configurator.html">configurator</a></li>
39
+
40
+ <li class="file"><a href="../../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
41
+
42
+ <li class="file"><a href="../../log4r/rdoc/formatter.html">formatter</a></li>
43
+
44
+ <li class="file"><a href="../../log4r/rdoc/log4r.html">log4r</a></li>
45
+
46
+ <li class="file"><a href="../../log4r/rdoc/logger.html">logger</a></li>
47
+
48
+ <li class="file"><a href="../../log4r/rdoc/logserver.html">logserver</a></li>
49
+
50
+ <li class="file"><a href="../../log4r/rdoc/outputter.html">outputter</a></li>
51
+
52
+ <li class="file"><a href="../../log4r/rdoc/patternformatter.html">patternformatter</a></li>
53
+
54
+ <li class="file"><a href="../../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
55
+
56
+ <li class="file"><a href="../../log4r/rdoc/win32eventoutputter.html">win32eventoutputter</a></li>
57
+
58
+ <li class="file"><a href="../../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
59
+
60
+ </ul>
61
+ </div>
62
+
63
+
64
+ <div id="classindex-section" class="section project-section">
65
+ <h3 class="section-header">Class Index
66
+ <span class="search-toggle"><img src="../../images/find.png"
67
+ height="16" width="16" alt="[+]"
68
+ title="show/hide quicksearch" /></span></h3>
69
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
70
+ <fieldset>
71
+ <legend>Quicksearch</legend>
72
+ <input type="text" name="quicksearch" value=""
73
+ class="quicksearch-field" />
74
+ </fieldset>
75
+ </form>
76
+
77
+ <ul class="link-list">
78
+
79
+ <li><a href="../../Log4r.html">Log4r</a></li>
80
+
81
+ <li><a href="../../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
82
+
83
+ <li><a href="../../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
84
+
85
+ <li><a href="../../Log4r/Configurator.html">Log4r::Configurator</a></li>
86
+
87
+ <li><a href="../../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
88
+
89
+ <li><a href="../../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
90
+
91
+ <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
92
+
93
+ <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
94
+
95
+ <li><a href="../../Log4r/Formatter.html">Log4r::Formatter</a></li>
96
+
97
+ <li><a href="../../Log4r/GDC.html">Log4r::GDC</a></li>
98
+
99
+ <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
100
+
101
+ <li><a href="../../Log4r/Log4jXmlFormatter.html">Log4r::Log4jXmlFormatter</a></li>
102
+
103
+ <li><a href="../../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
104
+
105
+ <li><a href="../../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
106
+
107
+ <li><a href="../../Log4r/LogServer.html">Log4r::LogServer</a></li>
108
+
109
+ <li><a href="../../Log4r/Logger.html">Log4r::Logger</a></li>
110
+
111
+ <li><a href="../../Log4r/MDC.html">Log4r::MDC</a></li>
112
+
113
+ <li><a href="../../Log4r/NDC.html">Log4r::NDC</a></li>
114
+
115
+ <li><a href="../../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
116
+
117
+ <li><a href="../../Log4r/Outputter.html">Log4r::Outputter</a></li>
118
+
119
+ <li><a href="../../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
120
+
121
+ <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
122
+
123
+ <li><a href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
124
+
125
+ <li><a href="../../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
126
+
127
+ <li><a href="../../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
128
+
129
+ <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
130
+
131
+ <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
132
+
133
+ <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
134
+
135
+ <li><a href="../../Log4r/UDPOutputter.html">Log4r::UDPOutputter</a></li>
136
+
137
+ <li><a href="../../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
138
+
139
+ </ul>
140
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
141
+ </div>
142
+
143
+
144
+ </div>
145
+ </div>
146
+
147
+ <div id="documentation">
148
+ <h1>#{version} <a href="../../Log4r.html">Log4r</a> API Reference</h1>
149
+ <p>
150
+ Welcome to the <a href="../../Log4r.html">Log4r</a> API reference. There
151
+ are two classes of reference, the file overview and the class API. They are
152
+ listed under Files and Classes respectively. File overviews cover the use
153
+ of the <a href="../../Log4r.html">Log4r</a> API and some implementation
154
+ details, whereas class APIs detail the methods available to the various
155
+ objects.
156
+ </p>
157
+ <p>
158
+ The code examples in this API assume:
159
+ </p>
160
+ <pre>
161
+ include Log4r
162
+ </pre>
163
+ <p>
164
+ This file overview covers some of the major concepts in <a
165
+ href="../../Log4r.html">Log4r</a>.
166
+ </p>
167
+ <h2>Log Levels</h2>
168
+ <p>
169
+ <a href="../../Log4r.html">Log4r</a> provides as many levels of logging as
170
+ desired. Logging levels are an ordered set of names ranked by priority. The
171
+ more important a level is, the higher its priority and the more likely we
172
+ want to see any data associated with it. <a
173
+ href="../../Log4r.html">Log4r</a> provides many ways to filter information
174
+ by level.
175
+ </p>
176
+ <p>
177
+ Loggers and Outputters have a level parameter which serves as a level
178
+ threshold. Any data below this threshold will be ignored by the Logger or
179
+ Outputter. Additionally, Outputters can be set to mask out any particular
180
+ level or collection of levels.
181
+ </p>
182
+ <p>
183
+ By combining level thresholds with other <a
184
+ href="../../Log4r.html">Log4r</a> features, one can direct any set of data
185
+ to any destination desired in a way that is easy to visualize and
186
+ configure.
187
+ </p>
188
+ <h3>Default Levels</h3>
189
+ <p>
190
+ The default log levels and their priority rankings are:
191
+ </p>
192
+ <pre>
193
+ DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL
194
+ </pre>
195
+ <h3>Custom Levels</h3>
196
+ <p>
197
+ You can have as many levels as you desire, with any naming scheme. <a
198
+ href="../../Log4r.html">Log4r</a> will automatically define level constants
199
+ and log method names after your custom specification.
200
+ </p>
201
+ <p>
202
+ Please see <a href="../configurator_rb.html">log4r/configurator.rb</a> for
203
+ details.
204
+ </p>
205
+ <h3>Boundary Levels</h3>
206
+ <p>
207
+ There are two special levels, <tt>ALL</tt> and <tt>OFF</tt> which denote
208
+ whether we are logging at all levels or at none. The priority ranks with
209
+ respect to the logging levels are as follows:
210
+ </p>
211
+ <pre>
212
+ ALL &lt; logging levels as defined by user &lt; OFF
213
+ </pre>
214
+ <p>
215
+ Thus, setting the level to <tt>ALL</tt> will enable logging at all levels
216
+ whereas <tt>OFF</tt> will turn off logging completely.
217
+ </p>
218
+ <h2>File Overviews</h2>
219
+ <table>
220
+ <tr><td valign="top">For Loggers:</td><td><a href="../logger_rb.html">log4r/logger.rb</a>
221
+
222
+ </td></tr>
223
+ <tr><td valign="top">For Outputters:</td><td><a href="../outputter/outputter_rb.html">log4r/outputter/outputter.rb</a>
224
+
225
+ </td></tr>
226
+ <tr><td valign="top">For Formatters:</td><td><a href="../formatter/formatter_rb.html">log4r/formatter/formatter.rb</a>
227
+
228
+ </td></tr>
229
+ <tr><td valign="top">For configuration:</td><td><a href="../configurator_rb.html">log4r/configurator.rb</a>
230
+
231
+ </td></tr>
232
+ </table>
233
+ <h2>Principal Classes of <a href="../../Log4r.html">Log4r</a></h2>
234
+ <ul>
235
+ <li><a href="../../Log4r/Logger.html">Log4r::Logger</a> - Interface to logging
236
+
237
+ </li>
238
+ <li><a href="../../Log4r/Outputter.html">Log4r::Outputter</a> - An output
239
+ destination for a logger.
240
+
241
+ </li>
242
+ <li><a href="../../Log4r/Formatter.html">Log4r::Formatter</a> - A means of
243
+ formatting log data.
244
+
245
+ </li>
246
+ <li><a href="../../Log4r/Configurator.html">Log4r::Configurator</a> - A means
247
+ of configuring <a href="../../Log4r.html">Log4r</a>
248
+
249
+ </li>
250
+ </ul>
251
+ <h2>Convenience Classes</h2>
252
+ <p>
253
+ <a href="../../Log4r.html">Log4r</a> provides several convenience
254
+ Outputters and Formatters. Please look at the file overviews of those
255
+ classes for more details.
256
+ </p>
257
+ <h2>Remote Logging</h2>
258
+ <p>
259
+ <a href="../../Log4r.html">Log4r</a> provides a way to send log events over
260
+ a network. See <a href="../logserver_rb.html">log4r/logserver.rb</a> for
261
+ details.
262
+ </p>
263
+ <h2>What&#8217;s Going on Inside?</h2>
264
+ <p>
265
+ <a href="../../Log4r.html">Log4r</a> has an internal logger which records
266
+ much of what goes on inside. To see the output, define a Logger named
267
+ &#8216;log4r&#8217; and give it an Outputter of some sort. It logs only at
268
+ the lowest and highest priorities. That would be DEBUG and FATAL for the
269
+ standard setup.
270
+ </p>
271
+ <p>
272
+ It is essential to view this data when using certain classes, like <a
273
+ href="../../Log4r/LogServer.html">Log4r::LogServer</a> and <a
274
+ href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a>.
275
+ </p>
276
+
277
+ </div>
278
+
279
+ <div id="validator-badges">
280
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
281
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
282
+ Rdoc Generator</a> 1.1.6</small>.</p>
283
+ </div>
284
+ </body>
285
+ </html>
286
+
@@ -0,0 +1,382 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8
+
9
+ <title>File: logger [1.1.7 Log4r API]</title>
10
+
11
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet" />
12
+
13
+ <script src="../../js/jquery.js" type="text/javascript"
14
+ charset="utf-8"></script>
15
+ <script src="../../js/thickbox-compressed.js" type="text/javascript"
16
+ charset="utf-8"></script>
17
+ <script src="../../js/quicksearch.js" type="text/javascript"
18
+ charset="utf-8"></script>
19
+ <script src="../../js/darkfish.js" type="text/javascript"
20
+ charset="utf-8"></script>
21
+ </head>
22
+
23
+ <body class="file">
24
+ <div id="metadata">
25
+ <div id="project-metadata">
26
+
27
+
28
+ <div id="fileindex-section" class="section project-section">
29
+ <h3 class="section-header">Files</h3>
30
+ <ul>
31
+
32
+ <li class="file"><a href="../../log4r/rdoc/GDC.html">GDC</a></li>
33
+
34
+ <li class="file"><a href="../../log4r/rdoc/MDC.html">MDC</a></li>
35
+
36
+ <li class="file"><a href="../../log4r/rdoc/NDC.html">NDC</a></li>
37
+
38
+ <li class="file"><a href="../../log4r/rdoc/configurator.html">configurator</a></li>
39
+
40
+ <li class="file"><a href="../../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
41
+
42
+ <li class="file"><a href="../../log4r/rdoc/formatter.html">formatter</a></li>
43
+
44
+ <li class="file"><a href="../../log4r/rdoc/log4r.html">log4r</a></li>
45
+
46
+ <li class="file"><a href="../../log4r/rdoc/logger.html">logger</a></li>
47
+
48
+ <li class="file"><a href="../../log4r/rdoc/logserver.html">logserver</a></li>
49
+
50
+ <li class="file"><a href="../../log4r/rdoc/outputter.html">outputter</a></li>
51
+
52
+ <li class="file"><a href="../../log4r/rdoc/patternformatter.html">patternformatter</a></li>
53
+
54
+ <li class="file"><a href="../../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
55
+
56
+ <li class="file"><a href="../../log4r/rdoc/win32eventoutputter.html">win32eventoutputter</a></li>
57
+
58
+ <li class="file"><a href="../../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
59
+
60
+ </ul>
61
+ </div>
62
+
63
+
64
+ <div id="classindex-section" class="section project-section">
65
+ <h3 class="section-header">Class Index
66
+ <span class="search-toggle"><img src="../../images/find.png"
67
+ height="16" width="16" alt="[+]"
68
+ title="show/hide quicksearch" /></span></h3>
69
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
70
+ <fieldset>
71
+ <legend>Quicksearch</legend>
72
+ <input type="text" name="quicksearch" value=""
73
+ class="quicksearch-field" />
74
+ </fieldset>
75
+ </form>
76
+
77
+ <ul class="link-list">
78
+
79
+ <li><a href="../../Log4r.html">Log4r</a></li>
80
+
81
+ <li><a href="../../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
82
+
83
+ <li><a href="../../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
84
+
85
+ <li><a href="../../Log4r/Configurator.html">Log4r::Configurator</a></li>
86
+
87
+ <li><a href="../../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
88
+
89
+ <li><a href="../../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
90
+
91
+ <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
92
+
93
+ <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
94
+
95
+ <li><a href="../../Log4r/Formatter.html">Log4r::Formatter</a></li>
96
+
97
+ <li><a href="../../Log4r/GDC.html">Log4r::GDC</a></li>
98
+
99
+ <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
100
+
101
+ <li><a href="../../Log4r/Log4jXmlFormatter.html">Log4r::Log4jXmlFormatter</a></li>
102
+
103
+ <li><a href="../../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
104
+
105
+ <li><a href="../../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
106
+
107
+ <li><a href="../../Log4r/LogServer.html">Log4r::LogServer</a></li>
108
+
109
+ <li><a href="../../Log4r/Logger.html">Log4r::Logger</a></li>
110
+
111
+ <li><a href="../../Log4r/MDC.html">Log4r::MDC</a></li>
112
+
113
+ <li><a href="../../Log4r/NDC.html">Log4r::NDC</a></li>
114
+
115
+ <li><a href="../../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
116
+
117
+ <li><a href="../../Log4r/Outputter.html">Log4r::Outputter</a></li>
118
+
119
+ <li><a href="../../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
120
+
121
+ <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
122
+
123
+ <li><a href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
124
+
125
+ <li><a href="../../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
126
+
127
+ <li><a href="../../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
128
+
129
+ <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
130
+
131
+ <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
132
+
133
+ <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
134
+
135
+ <li><a href="../../Log4r/UDPOutputter.html">Log4r::UDPOutputter</a></li>
136
+
137
+ <li><a href="../../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
138
+
139
+ </ul>
140
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
141
+ </div>
142
+
143
+
144
+ </div>
145
+ </div>
146
+
147
+ <div id="documentation">
148
+ <h1>Loggers</h1>
149
+ <p>
150
+ Loggers provide the interface for logging in <a
151
+ href="../../Log4r.html">Log4r</a>. To create a logger, first come up with a
152
+ name for it. Good choices include the name of the class using it, a service
153
+ name, or the name of the file.
154
+ </p>
155
+ <p>
156
+ To create a logger named &#8216;mylog&#8217;:
157
+ </p>
158
+ <pre>
159
+ Logger.new('mylog')
160
+ </pre>
161
+ <p>
162
+ After creating a logger, it is stashed in a repository. The logger may be
163
+ retrieved at any time:
164
+ </p>
165
+ <pre>
166
+ Logger['mylog'] # get mylog back
167
+ </pre>
168
+ <p>
169
+ It will return nil if the logger is not found. Alternatively, if an
170
+ Exception is desired when a nonexistant logger is referenced, the
171
+ Logger#get command can be used:
172
+ </p>
173
+ <pre>
174
+ Logger.get('boguslog') # raises NameError if it doesn't exist
175
+ </pre>
176
+ <h2>Manipulating a Logger&#8217;s Outputters</h2>
177
+ <p>
178
+ Loggers start out with no outputters. They can be added using the
179
+ Logger#add method or set directly by modifying the Loggers#outputters
180
+ array:
181
+ </p>
182
+ <pre>
183
+ mylog = Logger['mylog']
184
+
185
+ # assume we've created Outputters out1 through out4
186
+ mylog.outputters = out1, out2
187
+ mylog.add(out3, out4)
188
+ mylog.each_outputter {|o| o.flush}
189
+
190
+ # assume out5 through out7 have names 'out5' through 'out7' resp.
191
+ mylog.outputters = 'out5', 'out6'
192
+ mylog.add('out7')
193
+ mylog.remove('out5','out7')
194
+ </pre>
195
+ <p>
196
+ Please see <a
197
+ href="../outputter/outputter_rb.html">log4r/outputter/outputter.rb</a> and
198
+ <a href="../../Log4r/Outputter.html">Log4r::Outputter</a> for more about
199
+ outputters.
200
+ </p>
201
+ <h2>Logging Methods</h2>
202
+ <p>
203
+ To log something at a certain priority, use the logging method named after
204
+ the lowercased priority level name:
205
+ </p>
206
+ <pre>
207
+ mylog.warn &quot;This is a message with priority WARN&quot;
208
+ mylog.fatal &quot;A FATAL message&quot;
209
+ </pre>
210
+ <p>
211
+ Blocks can also be logged:
212
+ </p>
213
+ <pre>
214
+ mylog.warn {&quot;This is also a message with priority WARN&quot;}
215
+ mylog.debug do
216
+ # some complicated string magic
217
+ return result
218
+ end
219
+ </pre>
220
+ <p>
221
+ The primary difference is that the block doesn&#8217;t get called unless
222
+ the Logger can log at that level. It is useful for doing computationaly
223
+ expensive things at a log event.
224
+ </p>
225
+ <h2>Query Methods</h2>
226
+ <p>
227
+ To ask <a href="../../Log4r.html">Log4r</a> whether it is capable of
228
+ logging a certain level:
229
+ </p>
230
+ <pre>
231
+ mylog.warn? # are we logging WARN?
232
+ mylog.fatal? # how about FATAL?
233
+ </pre>
234
+ <p>
235
+ Query methods and blocks accomplish the same thing:
236
+ </p>
237
+ <pre>
238
+ mylog.warn &quot;don't evaluate unless WARN is on&quot; if mylog.warn?
239
+ mylog.warn {&quot;don't evaluate unless WARN is on&quot;}
240
+ </pre>
241
+ <h2>What About the Special Levels?</h2>
242
+ <p>
243
+ <tt>ALL</tt> and <tt>OFF</tt> can be querried, but not logged:
244
+ </p>
245
+ <pre>
246
+ log.off? # true iff level is OFF
247
+ log.all? # true iff level is ALL
248
+ log.all &quot;Try to log&quot; =&gt; Method not defined. (NameError)
249
+ </pre>
250
+ <h2>Custom Levels and Method Names</h2>
251
+ <p>
252
+ Suppose we&#8217;ve set up <a href="../../Log4r.html">Log4r</a> with the
253
+ custom levels:
254
+ </p>
255
+ <pre>
256
+ Foo &lt; Bar &lt; Baz
257
+ </pre>
258
+ <p>
259
+ As one might expect, the logging methods are named after them:
260
+ </p>
261
+ <pre>
262
+ log.bar &quot;something&quot; # log at custom level Bar
263
+ log.bar? # are we logging at level Bar?
264
+ </pre>
265
+ <h1>Logger Inheritance</h1>
266
+ <p>
267
+ Normally, when a logger is created, its parent is set to RootLogger. If a
268
+ Logger&#8217;s level isn&#8217;t specified at creation, it will inherit the
269
+ level of its parent.
270
+ </p>
271
+ <p>
272
+ To specify an ancestors of a logger besides RootLogger, include the names
273
+ of the ancestors in order of ancestry and delimited by
274
+ Log4r::Log4rConfig::LoggerPathDelimiter. For example, if the delimiter is
275
+ the default <tt>::</tt>, our logger is &#8216;me&#8217; and its ancestors
276
+ are &#8216;cain&#8217;, &#8216;grandpa&#8217;, and &#8216;pa&#8217;, we
277
+ create the logger like so:
278
+ </p>
279
+ <pre>
280
+ Logger.new('cain::grandpa::pa::me')
281
+ </pre>
282
+ <p>
283
+ This string is split into three compontents which can be used by a
284
+ Formatter to avoid parsing the name:
285
+ </p>
286
+ <table>
287
+ <tr><td valign="top">Logger#fullname:</td><td>The whole enchilada: &#8216;cain::grandpa::pa::me&#8217;
288
+
289
+ </td></tr>
290
+ <tr><td valign="top">Logger#name:</td><td>Just &#8216;me&#8217;
291
+
292
+ </td></tr>
293
+ </table>
294
+ <p>
295
+ To get this logger back from the repository,
296
+ </p>
297
+ <pre>
298
+ Logger['cain::grandpa::pa::me']
299
+ </pre>
300
+ <h1>Outputter Additivity</h1>
301
+ <p>
302
+ By default, Logger Outputters are <b>additive</b>. This means that a log
303
+ event will also be sent to all of a logger&#8217;s ancestors. To stop this
304
+ behavior, set a logger&#8217;s <tt>additive</tt> to false.
305
+ </p>
306
+ <pre>
307
+ Logger['foo'].additive = false
308
+ </pre>
309
+ <p>
310
+ A Logger&#8217;s level, additivity and trace can be changed dynamically,
311
+ but this is an expensive operation as the logging methods have to be
312
+ redefined.
313
+ </p>
314
+ <h1>RootLogger</h1>
315
+ <p>
316
+ <a href="../../Log4r/RootLogger.html">Log4r::RootLogger</a> is the ancestor
317
+ of all loggers. Its level defines the global logging threshold. Any loggers
318
+ created <b>after</b> RootLogger&#8217;s level is set will not log below
319
+ that level. By default, RootLogger&#8217;s level is set to <tt>ALL</tt>
320
+ </p>
321
+ <p>
322
+ RootLogger is a singleton which gets created automaticallay. It can be
323
+ retrieved at any time with Logger.root, Logger.global,
324
+ Logger[&#8216;root&#8217;] or Logger[&#8216;global&#8217;].
325
+ </p>
326
+ <h2>Global Level</h2>
327
+ <p>
328
+ Suppose we want <em>everything</em> to ignore events less than FATAL. We
329
+ can accomplish this easily:
330
+ </p>
331
+ <pre>
332
+ Logger.global.level = FATAL
333
+ </pre>
334
+ <p>
335
+ Just be sure to set this before any other Loggers or Outputters are
336
+ defined.
337
+ </p>
338
+ <h2>RootLogger Does Nothing</h2>
339
+ <p>
340
+ RootLogger itself behaves as if its level were permanently set to
341
+ <tt>OFF</tt>, thus making it a sort of null object.
342
+ </p>
343
+ <h1>XML Configuration</h1>
344
+ <p>
345
+ Please see <a href="../configurator_rb.html">log4r/configurator.rb</a> for
346
+ an overview of XML configuratoin.
347
+ </p>
348
+ <p>
349
+ It&#8217;s easy to configure a Logger in XML. The following example should
350
+ be sufficient:
351
+ </p>
352
+ <pre>
353
+ ...
354
+ &lt;logger name=&quot;papa::mylog&quot; level=&quot;DEBUG&quot; trace=&quot;true&quot;&gt;
355
+ &lt;additive&gt;false&lt;/additive&gt;
356
+ &lt;outputter&gt;stdout&lt;/outputter&gt;
357
+ &lt;outputters&gt;stderr, dancer, doner, blitzen&lt;/outputters&gt;
358
+ &lt;/logger&gt;
359
+ &lt;logger name=&quot;papa&quot; outputters=&quot;stderr, stdout&quot;/&gt;
360
+ ...
361
+ </pre>
362
+ <p>
363
+ The element <tt>outputter</tt> can occur multiple times, but cannot be an
364
+ attribute of <tt>logger</tt>. That is, it is not an <em>XML directive</em>.
365
+ However, the element <tt>outputters</tt> is an <em>XML directive</em>, as
366
+ are all the others.
367
+ </p>
368
+ <p>
369
+ For more examples, check the <tt>examples</tt> directory in the <a
370
+ href="../../Log4r.html">Log4r</a> package.
371
+ </p>
372
+
373
+ </div>
374
+
375
+ <div id="validator-badges">
376
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
377
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
378
+ Rdoc Generator</a> 1.1.6</small>.</p>
379
+ </div>
380
+ </body>
381
+ </html>
382
+