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.
- data/README +3 -3
- data/Rakefile +2 -2
- data/doc/rdoc/Log4r.html +519 -0
- data/doc/rdoc/Log4r/BasicFormatter.html +388 -0
- data/doc/rdoc/Log4r/ConfigError.html +225 -0
- data/doc/rdoc/Log4r/Configurator.html +1068 -0
- data/doc/rdoc/Log4r/DateFileOutputter.html +479 -0
- data/doc/rdoc/Log4r/DefaultFormatter.html +223 -0
- data/doc/rdoc/Log4r/EmailOutputter.html +654 -0
- data/doc/rdoc/Log4r/FileOutputter.html +346 -0
- data/doc/rdoc/Log4r/Formatter.html +309 -0
- data/doc/rdoc/Log4r/GDC.html +346 -0
- data/doc/rdoc/Log4r/GDC_rb.html +80 -0
- data/doc/rdoc/Log4r/IOOutputter.html +410 -0
- data/doc/rdoc/Log4r/Log4jXmlFormatter.html +337 -0
- data/doc/rdoc/Log4r/Log4rConfig.html +211 -0
- data/doc/rdoc/Log4r/Log4rTools.html +388 -0
- data/doc/rdoc/Log4r/LogEvent.html +378 -0
- data/doc/rdoc/Log4r/LogServer.html +340 -0
- data/doc/rdoc/Log4r/Logger.html +1150 -0
- data/doc/rdoc/Log4r/Logger/LoggerFactory.html +218 -0
- data/doc/rdoc/Log4r/Logger/Repository.html +225 -0
- data/doc/rdoc/Log4r/MDC.html +424 -0
- data/doc/rdoc/Log4r/MDC_rb.html +83 -0
- data/doc/rdoc/Log4r/NDC.html +632 -0
- data/doc/rdoc/Log4r/NDC_rb.html +110 -0
- data/doc/rdoc/Log4r/ObjectFormatter.html +280 -0
- data/doc/rdoc/Log4r/Outputter.html +934 -0
- data/doc/rdoc/Log4r/Outputter/OutputterFactory.html +218 -0
- data/doc/rdoc/Log4r/Outputter/consoleoutputters_rb.html +57 -0
- data/doc/rdoc/Log4r/Outputter/datefileoutputter_rb.html +93 -0
- data/doc/rdoc/Log4r/Outputter/emailoutputter_rb.html +179 -0
- data/doc/rdoc/Log4r/Outputter/fileoutputter_rb.html +64 -0
- data/doc/rdoc/Log4r/Outputter/iooutputter_rb.html +59 -0
- data/doc/rdoc/Log4r/Outputter/outputter_rb.html +222 -0
- data/doc/rdoc/Log4r/Outputter/outputterfactory_rb.html +62 -0
- data/doc/rdoc/Log4r/Outputter/remoteoutputter_rb.html +59 -0
- data/doc/rdoc/Log4r/Outputter/rollingfileoutputter_rb.html +66 -0
- data/doc/rdoc/Log4r/Outputter/staticoutputter_rb.html +55 -0
- data/doc/rdoc/Log4r/Outputter/syslogoutputter_rb.html +110 -0
- data/doc/rdoc/Log4r/Outputter/udpoutputter_rb.html +220 -0
- data/doc/rdoc/Log4r/PatternFormatter.html +404 -0
- data/doc/rdoc/Log4r/ROMPClient.html +211 -0
- data/doc/rdoc/Log4r/ROMPServer.html +211 -0
- data/doc/rdoc/Log4r/RemoteOutputter.html +402 -0
- data/doc/rdoc/Log4r/RollingFileOutputter.html +551 -0
- data/doc/rdoc/Log4r/RootLogger.html +530 -0
- data/doc/rdoc/Log4r/SimpleFormatter.html +276 -0
- data/doc/rdoc/Log4r/StderrOutputter.html +268 -0
- data/doc/rdoc/Log4r/StdoutOutputter.html +268 -0
- data/doc/rdoc/Log4r/SyslogOutputter.html +551 -0
- data/doc/rdoc/Log4r/UDPOutputter.html +379 -0
- data/doc/rdoc/Log4r/YamlConfigurator.html +966 -0
- data/doc/rdoc/Log4r/base_rb.html +57 -0
- data/doc/rdoc/Log4r/config_rb.html +122 -0
- data/doc/rdoc/Log4r/configurator_rb.html +370 -0
- data/doc/rdoc/Log4r/formatter/formatter_rb.html +121 -0
- data/doc/rdoc/Log4r/formatter/log4jxmlformatter_rb.html +64 -0
- data/doc/rdoc/Log4r/formatter/patternformatter_rb.html +239 -0
- data/doc/rdoc/Log4r/lib/drbloader_rb.html +57 -0
- data/doc/rdoc/Log4r/lib/xmlloader_rb.html +57 -0
- data/doc/rdoc/Log4r/logevent_rb.html +55 -0
- data/doc/rdoc/Log4r/logger_rb.html +293 -0
- data/doc/rdoc/Log4r/loggerfactory_rb.html +66 -0
- data/doc/rdoc/Log4r/logserver_rb.html +161 -0
- data/doc/rdoc/Log4r/rdoc/GDC.html +175 -0
- data/doc/rdoc/Log4r/rdoc/MDC.html +178 -0
- data/doc/rdoc/Log4r/rdoc/NDC.html +207 -0
- data/doc/rdoc/Log4r/rdoc/configurator.html +462 -0
- data/doc/rdoc/Log4r/rdoc/emailoutputter.html +279 -0
- data/doc/rdoc/Log4r/rdoc/formatter.html +218 -0
- data/doc/rdoc/Log4r/rdoc/log4r.html +286 -0
- data/doc/rdoc/Log4r/rdoc/logger.html +382 -0
- data/doc/rdoc/Log4r/rdoc/logserver.html +265 -0
- data/doc/rdoc/Log4r/rdoc/outputter.html +313 -0
- data/doc/rdoc/Log4r/rdoc/patternformatter.html +331 -0
- data/doc/rdoc/Log4r/rdoc/syslogoutputter.html +197 -0
- data/doc/rdoc/Log4r/rdoc/win32eventoutputter.html +165 -0
- data/doc/rdoc/Log4r/rdoc/yamlconfigurator.html +187 -0
- data/doc/rdoc/Log4r/repository_rb.html +74 -0
- data/doc/rdoc/Log4r/staticlogger_rb.html +55 -0
- data/doc/rdoc/Log4r/yamlconfigurator_rb.html +95 -0
- data/doc/rdoc/REXML.html +211 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/images/brick.png +0 -0
- data/doc/rdoc/images/brick_link.png +0 -0
- data/doc/rdoc/images/bug.png +0 -0
- data/doc/rdoc/images/bullet_black.png +0 -0
- data/doc/rdoc/images/bullet_toggle_minus.png +0 -0
- data/doc/rdoc/images/bullet_toggle_plus.png +0 -0
- data/doc/rdoc/images/date.png +0 -0
- data/doc/rdoc/images/find.png +0 -0
- data/doc/rdoc/images/loadingAnimation.gif +0 -0
- data/doc/rdoc/images/macFFBgHack.png +0 -0
- data/doc/rdoc/images/package.png +0 -0
- data/doc/rdoc/images/page_green.png +0 -0
- data/doc/rdoc/images/page_white_text.png +0 -0
- data/doc/rdoc/images/page_white_width.png +0 -0
- data/doc/rdoc/images/plugin.png +0 -0
- data/doc/rdoc/images/ruby.png +0 -0
- data/doc/rdoc/images/tag_green.png +0 -0
- data/doc/rdoc/images/wrench.png +0 -0
- data/doc/rdoc/images/wrench_orange.png +0 -0
- data/doc/rdoc/images/zoom.png +0 -0
- data/doc/rdoc/index.html +585 -0
- data/doc/rdoc/js/darkfish.js +116 -0
- data/doc/rdoc/js/jquery.js +32 -0
- data/doc/rdoc/js/quicksearch.js +114 -0
- data/doc/rdoc/js/thickbox-compressed.js +10 -0
- data/doc/rdoc/log4r-rdoc.css +696 -0
- data/doc/rdoc/log4r_rb.html +207 -0
- data/doc/rdoc/rdoc.css +696 -0
- data/examples/rdoc-gen +2 -0
- data/src/log4r.rb +2 -2
- data/src/log4r/formatter/patternformatter.rb +15 -15
- data/src/log4r/outputter/udpoutputter.rb +4 -4
- data/tests/testchainsaw.rb +1 -1
- metadata +123 -8
- data/src/log4r/outputter/datefileoutputter.patch +0 -24
- data/src/log4r/outputter/diff +0 -14
- 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 ‘central’ 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’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’t do any formatting.
|
209
|
+
That’s up to the LogServer’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=>'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 "This is a message from 'mylog'"
|
230
|
+
</pre>
|
231
|
+
<p>
|
232
|
+
Produces this output on LogServer’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
|
+
<log4r_config>
|
244
|
+
<logserver name="name" uri="tcpromp://localhost:9999">
|
245
|
+
...
|
246
|
+
</pre>
|
247
|
+
<h2>Debugging</h2>
|
248
|
+
<p>
|
249
|
+
It is recommended to set up a logger named ‘log4r’ on both the
|
250
|
+
server and client to see what LogServer and RemoteOutputter are up to. Both
|
251
|
+
of the classes use Log4r’s internal logging to report any problems.
|
252
|
+
See the section <b>What’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' => Create 'console' outputter
|
177
|
+
Outputter['console'] => 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 ‘stdout’ and ‘stderr’ are
|
243
|
+
created automatically at the root level. They are nice shortcuts.
|
244
|
+
</p>
|
245
|
+
<pre>
|
246
|
+
Outputter['stdout'] => 'stdout'
|
247
|
+
Outputter['stderr'] => 'stderr'
|
248
|
+
Outputter.stdout => 'stdout'
|
249
|
+
Outputter.stderr => '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' => WARN,
|
269
|
+
:formatter => 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><log4r_config></tt>:
|
279
|
+
</p>
|
280
|
+
<pre>
|
281
|
+
<log4r_config>
|
282
|
+
<outputter name="myout" type="Log4r::StdoutOutputter">
|
283
|
+
<only_at>DEBUG, INFO</only_at>
|
284
|
+
</outputter>
|
285
|
+
<outputter name="file" level="WARN">
|
286
|
+
<type>FileOutputter</type>
|
287
|
+
<filename>#{logpath}/file.log</filename>
|
288
|
+
<trunc>false</trunc>
|
289
|
+
</outputter>
|
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
|
+
|