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,265 @@
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: logserver [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>Remote Logging</h1>
149
+ <p>
150
+ Want to use <a href="../../Log4r.html">Log4r</a> over a network? No
151
+ problem! A <a
152
+ href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a> will
153
+ send its LogEvents to a <a
154
+ href="../../Log4r/LogServer.html">Log4r::LogServer</a>. These two classes
155
+ are as easy to set up and use as the rest of <a
156
+ href="../../Log4r.html">Log4r</a>.
157
+ </p>
158
+ <h2>Use ROMP</h2>
159
+ <p>
160
+ There is one catch though: ROMP is required to use this service. It is a
161
+ DRb-like system with superb performance and better features. Get ROMP at <a
162
+ href="http://rubystuff.org/romp/">rubystuff.org/romp/</a>
163
+ </p>
164
+ <h2>LogServer</h2>
165
+ <p>
166
+ LogServer is simply a kind of Logger which embeds a ROMP::Server. Like a
167
+ normal Logger, you can give it Outputters, set its level and so on. Its
168
+ logging methods are accessible over a network and are called by a
169
+ RemoteOutputter on another host.
170
+ </p>
171
+ <h3>LogServer Setup</h3>
172
+ <p>
173
+ Setup is easy. First,
174
+ </p>
175
+ <pre>
176
+ require 'log4r/logserver'
177
+ </pre>
178
+ <p>
179
+ The following sets up a LogServer named &#8216;central&#8217; on localhost
180
+ port 9999:
181
+ </p>
182
+ <pre>
183
+ LogServer.new('central', 'tcpromp://localhost:9999')
184
+ </pre>
185
+ <p>
186
+ We manipulate it and give it outputters as normal:
187
+ </p>
188
+ <pre>
189
+ serv = Logger['central'] # grab our new LogServer
190
+ serv.add 'stdout' # make it log to $stdout
191
+ </pre>
192
+ <h2>RemoteOutputter</h2>
193
+ <p>
194
+ RemoteOutputter is simply a kind of Outputter that embeds a ROMP::Client.
195
+ When RemoteOutputter gets a LogEvent, it will forward it to whatever
196
+ LogServer it&#8217;s connected to. In essence, RemoteOutputter behaves like
197
+ a Logger that is forwarding a LogEvent to another Logger (as is done in
198
+ hierarchical logging).
199
+ </p>
200
+ <h3>RemoteOutputter Setup</h3>
201
+ <p>
202
+ First,
203
+ </p>
204
+ <pre>
205
+ require 'log4r/outputter/remoteoutputter'
206
+ </pre>
207
+ <p>
208
+ Unlike typical outputters, RemoteOutputter doesn&#8217;t do any formatting.
209
+ That&#8217;s up to the LogServer&#8217;s outputters. Otherwise,
210
+ RemoteOutputter can be set up as usual. The ROMP uri of the LogServer must
211
+ be specified.
212
+ </p>
213
+ <pre>
214
+ RemoteOutputter.new 'client', :uri=&gt;'tcpromp://localhost:9999'
215
+ </pre>
216
+ <h3>Using RemoteOutputter</h3>
217
+ <p>
218
+ Give our new RemoteOutputter to a logger:
219
+ </p>
220
+ <pre>
221
+ mylog = Logger['mylog']
222
+ mylog.add 'client'
223
+ </pre>
224
+ <p>
225
+ Now, whenever mylog generates a LogEvent, LogServer should get a copy.
226
+ Doing the following:
227
+ </p>
228
+ <pre>
229
+ mylog.info &quot;This is a message from 'mylog'&quot;
230
+ </pre>
231
+ <p>
232
+ Produces this output on LogServer&#8217;s console:
233
+ </p>
234
+ <pre>
235
+ INFO mylog: This is a message from 'mylog'
236
+ </pre>
237
+ <h2>XML Configuration</h2>
238
+ <p>
239
+ RemoteOutputter is set up like normal Outputters. LogServer is set up like
240
+ a normal Logger, but with an element name of logserver instead of logger:
241
+ </p>
242
+ <pre>
243
+ &lt;log4r_config&gt;
244
+ &lt;logserver name=&quot;name&quot; uri=&quot;tcpromp://localhost:9999&quot;&gt;
245
+ ...
246
+ </pre>
247
+ <h2>Debugging</h2>
248
+ <p>
249
+ It is recommended to set up a logger named &#8216;log4r&#8217; on both the
250
+ server and client to see what LogServer and RemoteOutputter are up to. Both
251
+ of the classes use Log4r&#8217;s internal logging to report any problems.
252
+ See the section <b>What&#8217;s Going on Inside?</b> in <a
253
+ href="../../log4r_rb.html">log4r.rb</a> for more info.
254
+ </p>
255
+
256
+ </div>
257
+
258
+ <div id="validator-badges">
259
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
260
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
261
+ Rdoc Generator</a> 1.1.6</small>.</p>
262
+ </div>
263
+ </body>
264
+ </html>
265
+
@@ -0,0 +1,313 @@
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: outputter [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>Outputters</h1>
149
+ <p>
150
+ An Outputter is a logging destination with a particular way to format data.
151
+ It has a level threshold and a flexible level mask.
152
+ </p>
153
+ <p>
154
+ Outputters must have names.
155
+ </p>
156
+ <h2>Level Threshold</h2>
157
+ <p>
158
+ Outputters have their own level thresholds that default to <tt>root</tt>
159
+ level. They will not write any log events with a rank less than their
160
+ threshold.
161
+ </p>
162
+ <h2>Level Mask</h2>
163
+ <p>
164
+ Alternatively, an Outputter can be told to log specific levels only:
165
+ </p>
166
+ <pre>
167
+ o = StdoutOutputter.new 'console'
168
+ o.only_at DEBUG, FATAL # only DEBUG and FATAL get written
169
+ </pre>
170
+ <h2>Outputter Repository</h2>
171
+ <p>
172
+ When outputters are created, they store themselves in an Outputter
173
+ repository similar to the Logger repository.
174
+ </p>
175
+ <pre>
176
+ StdoutOutputter.new 'console' =&gt; Create 'console' outputter
177
+ Outputter['console'] =&gt; Get it back from the stash.
178
+ </pre>
179
+ <h2>Formatter</h2>
180
+ <p>
181
+ An outputter has a format defined by its Formatter. If no Formatter is
182
+ specified, DefaultFormatter will be used.
183
+ </p>
184
+ <h2>Outputter is Abstract</h2>
185
+ <p>
186
+ The basic Outputter class is both abstract and a null object.
187
+ </p>
188
+ <h2>Interesting Outputters</h2>
189
+ <ul>
190
+ <li><a
191
+ href="../outputter/syslogoutputter_rb.html">log4r/outputter/syslogoutputter.rb</a>
192
+ - Logs to syslog
193
+
194
+ </li>
195
+ <li><a
196
+ href="../outputter/emailoutputter_rb.html">log4r/outputter/emailoutputter.rb</a>
197
+ - Email logs
198
+
199
+ </li>
200
+ <li><a href="../logserver_rb.html">log4r/logserver.rb</a> - For remote logging
201
+
202
+ </li>
203
+ </ul>
204
+ <h2>Subclasses</h2>
205
+ <ul>
206
+ <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a> - for any IO
207
+ object
208
+
209
+ </li>
210
+ <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a> -
211
+ $stdout
212
+
213
+ </li>
214
+ <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a> -
215
+ $stderr
216
+
217
+ </li>
218
+ <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a> - log to
219
+ a file
220
+
221
+ </li>
222
+ <li><a
223
+ href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a>
224
+ - log to a file and split it as it grows
225
+
226
+ </li>
227
+ <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a> -
228
+ logs to syslog
229
+
230
+ </li>
231
+ <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a> - email
232
+ logs
233
+
234
+ </li>
235
+ <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a> - for
236
+ remote logging
237
+
238
+ </li>
239
+ </ul>
240
+ <h2>Default Outputters</h2>
241
+ <p>
242
+ Two outputters named &#8216;stdout&#8217; and &#8216;stderr&#8217; are
243
+ created automatically at the root level. They are nice shortcuts.
244
+ </p>
245
+ <pre>
246
+ Outputter['stdout'] =&gt; 'stdout'
247
+ Outputter['stderr'] =&gt; 'stderr'
248
+ Outputter.stdout =&gt; 'stdout'
249
+ Outputter.stderr =&gt; 'stderr'
250
+ </pre>
251
+ <h2>Configuring</h2>
252
+ <p>
253
+ Outputters must have names and receive hash arguments. The parameter name
254
+ for the hash args can be either a symbol or a string. All defined
255
+ outputters accept <tt>:level</tt> and <tt>:formatter</tt> arguments. For
256
+ arguments specific to a convenience Outputter, please look at the class
257
+ description.
258
+ </p>
259
+ <p>
260
+ The level threshold, the levels to log at (only_at) and formatter can be
261
+ changed dynamically using the <tt>=</tt> methods.
262
+ </p>
263
+ <p>
264
+ As a collective example of all this, here are various ways to set up an
265
+ IOOutputter:
266
+ </p>
267
+ <pre>
268
+ IOOutputter.new ExoticIO.new 'exotic', 'level' =&gt; WARN,
269
+ :formatter =&gt; MyFormatter.new
270
+ # an equivalent way:
271
+ o = IOOutputter.new ExoticIO.new 'exotic'
272
+ o.level = WARN
273
+ o.formatter = MyFormatter # we can specify just the class
274
+ o.only_at = THIS, THAT
275
+ </pre>
276
+ <h2>XML Configuration</h2>
277
+ <p>
278
+ Specify outputters as children of <tt>&lt;log4r_config&gt;</tt>:
279
+ </p>
280
+ <pre>
281
+ &lt;log4r_config&gt;
282
+ &lt;outputter name=&quot;myout&quot; type=&quot;Log4r::StdoutOutputter&quot;&gt;
283
+ &lt;only_at&gt;DEBUG, INFO&lt;/only_at&gt;
284
+ &lt;/outputter&gt;
285
+ &lt;outputter name=&quot;file&quot; level=&quot;WARN&quot;&gt;
286
+ &lt;type&gt;FileOutputter&lt;/type&gt;
287
+ &lt;filename&gt;#{logpath}/file.log&lt;/filename&gt;
288
+ &lt;trunc&gt;false&lt;/trunc&gt;
289
+ &lt;/outputter&gt;
290
+ ...
291
+ </pre>
292
+ <p>
293
+ As explained in <a
294
+ href="../configurator_rb.html">log4r/configurator.rb</a>, the hash
295
+ arguments you would normally pass to <tt>new</tt> are specified as <em>XML
296
+ parameters</em>. It is given an IO object to write to, a Formatter to call,
297
+ and, optionally, levels to write at.
298
+ </p>
299
+ <p>
300
+ Outputters invoke print then flush on the wrapped IO object. If the IO
301
+ chokes, the Outputter will close the IO and set its level to <tt>OFF</tt>.
302
+ </p>
303
+
304
+ </div>
305
+
306
+ <div id="validator-badges">
307
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
308
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
309
+ Rdoc Generator</a> 1.1.6</small>.</p>
310
+ </div>
311
+ </body>
312
+ </html>
313
+