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,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
+