log4r 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
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
+