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,121 @@
|
|
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: formatter.rb [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 file-popup">
|
24
|
+
<div id="metadata">
|
25
|
+
<dl>
|
26
|
+
<dt class="modified-date">Last Modified</dt>
|
27
|
+
<dd class="modified-date">Fri Sep 18 22:16:43 -0700 2009</dd>
|
28
|
+
|
29
|
+
|
30
|
+
<dt class="requires">Requires</dt>
|
31
|
+
<dd class="requires">
|
32
|
+
<ul>
|
33
|
+
|
34
|
+
<li>singleton</li>
|
35
|
+
|
36
|
+
<li>log4r/base</li>
|
37
|
+
|
38
|
+
</ul>
|
39
|
+
</dd>
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
</dl>
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="documentation">
|
47
|
+
|
48
|
+
<div class="description">
|
49
|
+
<h2>Description</h2>
|
50
|
+
<h1>Formatters</h1>
|
51
|
+
<p>
|
52
|
+
Formatters are responsible for formatting LogEvent data. An Outputter
|
53
|
+
owning a Formatter will invoke the <a
|
54
|
+
href="../../Log4r/Formatter.html#M000007">Log4r::Formatter#format</a>
|
55
|
+
method prior to writing.
|
56
|
+
</p>
|
57
|
+
<h2>Available Formatters</h2>
|
58
|
+
<ul>
|
59
|
+
<li><a href="../../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a> -
|
60
|
+
default
|
61
|
+
|
62
|
+
</li>
|
63
|
+
<li><a href="../../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a> -
|
64
|
+
most flexible. See <a
|
65
|
+
href="patternformatter_rb.html">log4r/formatter/patternformatter.rb</a>
|
66
|
+
|
67
|
+
</li>
|
68
|
+
<li><a href="../../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a> -
|
69
|
+
like BasicFormatter for Strings only (low noise)
|
70
|
+
|
71
|
+
</li>
|
72
|
+
<li><a href="../../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a> - for
|
73
|
+
inspecting objects
|
74
|
+
|
75
|
+
</li>
|
76
|
+
<li>Log4r::NullFormatter - twirls on its feet and does nothing
|
77
|
+
|
78
|
+
</li>
|
79
|
+
</ul>
|
80
|
+
<h1>XML Configuration</h1>
|
81
|
+
<p>
|
82
|
+
Specify the Formatter and its class (as <tt>type</tt>) under an
|
83
|
+
<tt><outputter></tt> directive:
|
84
|
+
</p>
|
85
|
+
<pre>
|
86
|
+
<outputter name="someout" type="sometype">
|
87
|
+
<formatter type="Log4r::BasicFormatter"/>
|
88
|
+
</outputter>
|
89
|
+
</pre>
|
90
|
+
<p>
|
91
|
+
As explained in <a
|
92
|
+
href="../configurator_rb.html">log4r/configurator.rb</a>, the hash
|
93
|
+
arguments you would normally pass to <tt>new</tt> are specified as <em>XML
|
94
|
+
parameters</em>. Only PatternFormatter has any of these.
|
95
|
+
</p>
|
96
|
+
<h1>Custom Formatting</h1>
|
97
|
+
<p>
|
98
|
+
Building a custom Formatter is extremely easy. Just define a class that
|
99
|
+
extends Formatter and override the Formatter#format method. Then give it to
|
100
|
+
any interested Outputters.
|
101
|
+
</p>
|
102
|
+
<p>
|
103
|
+
If you’re interested in setting up your custom formatters in XML,
|
104
|
+
please take a look at log4r/configurator.rb.
|
105
|
+
</p>
|
106
|
+
<h2>Data Available</h2>
|
107
|
+
<p>
|
108
|
+
See <a href="../../Log4r/LogEvent.html">Log4r::LogEvent</a>
|
109
|
+
</p>
|
110
|
+
<table>
|
111
|
+
<tr><td valign="top">Version:</td><td>$Id: formatter.rb,v 1.2 2009/09/19 05:16:43 colbygk Exp $
|
112
|
+
|
113
|
+
</td></tr>
|
114
|
+
</table>
|
115
|
+
|
116
|
+
</div>
|
117
|
+
|
118
|
+
</div>
|
119
|
+
</body>
|
120
|
+
</html>
|
121
|
+
|
@@ -0,0 +1,64 @@
|
|
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: log4jxmlformatter.rb [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 file-popup">
|
24
|
+
<div id="metadata">
|
25
|
+
<dl>
|
26
|
+
<dt class="modified-date">Last Modified</dt>
|
27
|
+
<dd class="modified-date">Thu Mar 11 15:38:22 -0800 2010</dd>
|
28
|
+
|
29
|
+
|
30
|
+
<dt class="requires">Requires</dt>
|
31
|
+
<dd class="requires">
|
32
|
+
<ul>
|
33
|
+
|
34
|
+
<li>log4r/formatter/formatter</li>
|
35
|
+
|
36
|
+
<li>rubygems</li>
|
37
|
+
|
38
|
+
<li>builder</li>
|
39
|
+
|
40
|
+
</ul>
|
41
|
+
</dd>
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
</dl>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<div id="documentation">
|
49
|
+
|
50
|
+
<div class="description">
|
51
|
+
<h2>Description</h2>
|
52
|
+
<h2>Other Info</h2>
|
53
|
+
<table>
|
54
|
+
<tr><td valign="top">Version:</td><td>$Id: log4jxmlformatter.rb,v 1.2 2010/03/11 23:38:22 colbygk Exp $
|
55
|
+
|
56
|
+
</td></tr>
|
57
|
+
</table>
|
58
|
+
|
59
|
+
</div>
|
60
|
+
|
61
|
+
</div>
|
62
|
+
</body>
|
63
|
+
</html>
|
64
|
+
|
@@ -0,0 +1,239 @@
|
|
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: patternformatter.rb [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 file-popup">
|
24
|
+
<div id="metadata">
|
25
|
+
<dl>
|
26
|
+
<dt class="modified-date">Last Modified</dt>
|
27
|
+
<dd class="modified-date">Thu Mar 11 20:04:54 -0800 2010</dd>
|
28
|
+
|
29
|
+
|
30
|
+
<dt class="requires">Requires</dt>
|
31
|
+
<dd class="requires">
|
32
|
+
<ul>
|
33
|
+
|
34
|
+
<li>log4r/formatter/formatter</li>
|
35
|
+
|
36
|
+
<li>log4r/GDC</li>
|
37
|
+
|
38
|
+
<li>log4r/MDC</li>
|
39
|
+
|
40
|
+
<li>log4r/NDC</li>
|
41
|
+
|
42
|
+
</ul>
|
43
|
+
</dd>
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
</dl>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<div id="documentation">
|
51
|
+
|
52
|
+
<div class="description">
|
53
|
+
<h2>Description</h2>
|
54
|
+
<h1>PatternFormatter</h1>
|
55
|
+
<p>
|
56
|
+
PatternFormatter offers complete control over the appearance of <a
|
57
|
+
href="../../Log4r.html">Log4r</a> log events without having to write custom
|
58
|
+
Formatter classes. In order to take advantage of PatternFormatter, some
|
59
|
+
familarity with Kernel#sprintf or the C printf function is recommended. For
|
60
|
+
time formatting, please look at Time.strftime.
|
61
|
+
</p>
|
62
|
+
<p>
|
63
|
+
PatternFormatter accepts three hash arguments:
|
64
|
+
</p>
|
65
|
+
<table>
|
66
|
+
<tr><td valign="top"><tt>pattern</tt>:</td><td>Log event format string.
|
67
|
+
|
68
|
+
</td></tr>
|
69
|
+
<tr><td valign="top"><tt>date_pattern</tt>:</td><td>Date format string.
|
70
|
+
|
71
|
+
</td></tr>
|
72
|
+
<tr><td valign="top"><tt>date_method</tt>:</td><td><tt>Time</tt> method to call (instead of using date_pattern).
|
73
|
+
|
74
|
+
</td></tr>
|
75
|
+
</table>
|
76
|
+
<p>
|
77
|
+
The <tt>pattern</tt> format string is something like “%l [%d]
|
78
|
+
%80M”, which resembles a pattern one would normally pass to
|
79
|
+
Kernel#sprintf. However, the directives are specific to <a
|
80
|
+
href="../../Log4r.html">Log4r</a>. Before we go on, let’s cover some
|
81
|
+
terminology.
|
82
|
+
</p>
|
83
|
+
<h2>Terminology</h2>
|
84
|
+
<dl>
|
85
|
+
<dt><b>%</b></dt><dd>The directive identifier. Everything after this up to and including one of
|
86
|
+
the <em>directive letters</em> defines a <em>directive</em>.
|
87
|
+
|
88
|
+
</dd>
|
89
|
+
<dt><b>directive letter</b></dt><dd>Letters in the set <tt>[cCdtmMl%]</tt>. These identify what kind of data
|
90
|
+
we’re interested in. They are detailed below.
|
91
|
+
|
92
|
+
</dd>
|
93
|
+
<dt><b>format directive</b></dt><dd>The numbers and assorted symbols that appears between <b>%</b> and a
|
94
|
+
<em>directive letter</em> is a format directive. It is comprised of an
|
95
|
+
integer specifying the field width followed optionally by a period and an
|
96
|
+
integer specifying the precision. The field width is the minimum number of
|
97
|
+
characters to copy from the data string while the precision is the maximum
|
98
|
+
number to copy. If the field width is preceded by a - sign, the data will
|
99
|
+
be left-justified. Otherwise, it is right-justified.
|
100
|
+
|
101
|
+
</dd>
|
102
|
+
<dt><b>directive</b></dt><dd>A statement that says, “I want this data to appear with this
|
103
|
+
(optional) particular format.” A directive starts with a <b>%</b> and
|
104
|
+
is followed by a format directive and terminates in a directive letter.
|
105
|
+
|
106
|
+
</dd>
|
107
|
+
</dl>
|
108
|
+
<h2>What the Directive Letters mean</h2>
|
109
|
+
<dl>
|
110
|
+
<dt><b>c</b></dt><dd>Produces a logger’s name. Fast.
|
111
|
+
|
112
|
+
</dd>
|
113
|
+
<dt><b>C</b></dt><dd>Produces a logger’s full name. Fast.
|
114
|
+
|
115
|
+
</dd>
|
116
|
+
<dt><b>d</b></dt><dd>Produces the time in a format specified by <b>date_pattern</b> or by
|
117
|
+
<b>date_method</b>. If neither is specified, the default will be used
|
118
|
+
(ISO8601). Slow.
|
119
|
+
|
120
|
+
</dd>
|
121
|
+
<dt><b>t</b></dt><dd>Produces the file and line number of the log event. The appearance varies
|
122
|
+
by Ruby version, but it is the same output returned by Kernel#caller[0].
|
123
|
+
Slow.
|
124
|
+
|
125
|
+
</dd>
|
126
|
+
<dt><b>m</b></dt><dd>The non-inspected log message. That is, to_s called on the object passed
|
127
|
+
into a log method. Fast.
|
128
|
+
|
129
|
+
</dd>
|
130
|
+
<dt><b>M</b></dt><dd>The message formatted by the <tt>format_object</tt> method in
|
131
|
+
BasicFormatter. It will pretty-print Exceptions, print Strings and inspect
|
132
|
+
everything else. Slow.
|
133
|
+
|
134
|
+
</dd>
|
135
|
+
<dt><b>l</b></dt><dd>The name of the level. That’s l as in Lambda. Fast.
|
136
|
+
|
137
|
+
</dd>
|
138
|
+
<dt><b>%</b></dt><dd>%% just prints a %. Any formatting is <em>probably</em> ignored. Fast.
|
139
|
+
|
140
|
+
</dd>
|
141
|
+
</dl>
|
142
|
+
<h2>Examples of directives:</h2>
|
143
|
+
<dl>
|
144
|
+
<dt><b>%d</b></dt><dd>Prints out the date according to our date_pattern or date_method. By
|
145
|
+
default, it looks like this: 2001-01-12 13:15:50
|
146
|
+
|
147
|
+
</dd>
|
148
|
+
<dt><b>%.120m</b></dt><dd>Prints out at most 120 characters of the log message.
|
149
|
+
|
150
|
+
</dd>
|
151
|
+
<dt><b>%15t</b></dt><dd>Prints the execution trace and pads it on the left with enough whitespace
|
152
|
+
to make the whole thing 15 chars.
|
153
|
+
|
154
|
+
</dd>
|
155
|
+
</dl>
|
156
|
+
<h2>Pattern String</h2>
|
157
|
+
<p>
|
158
|
+
A pattern string is simply a bunch of directives combined with the desired
|
159
|
+
format. For instance, to show the level in brackets followed by the date
|
160
|
+
and then the log message trimmed to 15 characters, we use the following
|
161
|
+
pattern:
|
162
|
+
</p>
|
163
|
+
<pre>
|
164
|
+
"[%l] %d :: %.15m" #=> [DEBUG] 2001-01-12 13:15:50 :: This is a messa
|
165
|
+
</pre>
|
166
|
+
<p>
|
167
|
+
To create a PatternFormatter with this format:
|
168
|
+
</p>
|
169
|
+
<pre>
|
170
|
+
p = PatternFormatter.new(:pattern => "[%l] %d :: %.15m")
|
171
|
+
</pre>
|
172
|
+
<h2>Formatting time</h2>
|
173
|
+
<p>
|
174
|
+
To format time, do one of the following:
|
175
|
+
</p>
|
176
|
+
<ul>
|
177
|
+
<li>Specify a date_pattern
|
178
|
+
|
179
|
+
</li>
|
180
|
+
<li>Specify what class method of Ruby’s <tt>Time</tt> class to call.
|
181
|
+
|
182
|
+
</li>
|
183
|
+
<li>Use the default format
|
184
|
+
|
185
|
+
</li>
|
186
|
+
</ul>
|
187
|
+
<p>
|
188
|
+
If neither date_pattern nor date_method is specified, the default date
|
189
|
+
format will be used. Currently, that would be ISO8601,
|
190
|
+
</p>
|
191
|
+
<p>
|
192
|
+
The date_pattern is exactly what one would pass to <tt>Time.strftime</tt>.
|
193
|
+
To specify a date_pattern, pass
|
194
|
+
<tt>:date_pattern=>"pattern"</tt> to PatternFormat.new.
|
195
|
+
</p>
|
196
|
+
<p>
|
197
|
+
Alternatively, date_method can be specified to produce the output of a
|
198
|
+
specific <tt>Time</tt> method, such as <tt>usec</tt> or <tt>to_s</tt> or
|
199
|
+
any other zero argument <tt>Time</tt> method that produces a time. More
|
200
|
+
precisely, the method to call will be invoked on <tt>Time.now</tt>. To
|
201
|
+
specify a date_method, pass <tt>:date_method=>'methodname'</tt> (or a
|
202
|
+
Symbol equivalent) to <tt>PatternFormatter.new</tt>.
|
203
|
+
</p>
|
204
|
+
<h1>XML Configuration</h1>
|
205
|
+
<p>
|
206
|
+
As explained in <a
|
207
|
+
href="../configurator_rb.html">log4r/configurator.rb</a>, the hash
|
208
|
+
arguments to PatternFormatter are <em>XML parameters</em>. Here’s an
|
209
|
+
example:
|
210
|
+
</p>
|
211
|
+
<pre>
|
212
|
+
<formatter type="PatternFormatter" pattern="[%l] %d :: %.15m">
|
213
|
+
<date_method>usec</date_method>
|
214
|
+
</formatter>
|
215
|
+
</pre>
|
216
|
+
<h1>Performace considerations</h1>
|
217
|
+
<p>
|
218
|
+
The performance impact of using a particular directive letter is noted in
|
219
|
+
the <b>What the Directives Letters mean</b> section.
|
220
|
+
</p>
|
221
|
+
<p>
|
222
|
+
The performance impact of time formatting merits special attention. If you
|
223
|
+
aren’t aware yet, the Time class is kind of a kludge. Time.now.usec
|
224
|
+
happens to be faster than Time.now. If you’re concerned about
|
225
|
+
performance, please profile the various time methods and patterns.
|
226
|
+
</p>
|
227
|
+
<h2>Other Info</h2>
|
228
|
+
<table>
|
229
|
+
<tr><td valign="top">Version:</td><td>$Id: patternformatter.rb,v 1.9 2010/03/12 04:04:54 colbygk Exp $
|
230
|
+
|
231
|
+
</td></tr>
|
232
|
+
</table>
|
233
|
+
|
234
|
+
</div>
|
235
|
+
|
236
|
+
</div>
|
237
|
+
</body>
|
238
|
+
</html>
|
239
|
+
|
@@ -0,0 +1,57 @@
|
|
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: drbloader.rb [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 file-popup">
|
24
|
+
<div id="metadata">
|
25
|
+
<dl>
|
26
|
+
<dt class="modified-date">Last Modified</dt>
|
27
|
+
<dd class="modified-date">Thu Mar 18 19:31:09 -0800 2004</dd>
|
28
|
+
|
29
|
+
|
30
|
+
<dt class="requires">Requires</dt>
|
31
|
+
<dd class="requires">
|
32
|
+
<ul>
|
33
|
+
|
34
|
+
<li>romp</li>
|
35
|
+
|
36
|
+
</ul>
|
37
|
+
</dd>
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
</dl>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div id="documentation">
|
45
|
+
|
46
|
+
<div class="description">
|
47
|
+
<h2>Description</h2>
|
48
|
+
<p>
|
49
|
+
:nodoc:
|
50
|
+
</p>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
</div>
|
55
|
+
</body>
|
56
|
+
</html>
|
57
|
+
|