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,110 @@
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: NDC.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">Tue Feb 02 21:20:05 -0800 2010</dd>
28
+
29
+
30
+ <dt class="requires">Requires</dt>
31
+ <dd class="requires">
32
+ <ul>
33
+
34
+ </ul>
35
+ </dd>
36
+
37
+
38
+
39
+ </dl>
40
+ </div>
41
+
42
+ <div id="documentation">
43
+
44
+ <div class="description">
45
+ <h2>Description</h2>
46
+ <h1>NDC</h1>
47
+ <p>
48
+ The NDC class implements a copy of the Nested Diagnostic Context, which is
49
+ part of the Apache Log4j library. Nested Diagnostic Contexts were derived
50
+ from Neil Harrison&#8217;s article on &#8220;Patterns for Logging
51
+ Diagnostic Messages&#8221;, part of the book &#8220;Pattern Languages of
52
+ Program Design 3&#8221; edited by Martin et al.
53
+ </p>
54
+ <p>
55
+ NDCs in <a href="../Log4r.html">Log4r</a> are thread safe.
56
+ </p>
57
+ <p>
58
+ NDCs in log4r are close enough to NDCs in Log4j that I include its
59
+ documentation directly:
60
+ </p>
61
+ <p>
62
+ &#8230; A Nested Diagnostic Context, or NDC in short, is an instrument to
63
+ distinguish interleaved log output from different sources. Log output is
64
+ typically interleaved when a server handles multiple clients
65
+ near-simultaneously.
66
+ </p>
67
+ <p>
68
+ Interleaved log output can still be meaningful if each log entry from
69
+ different contexts had a distinctive stamp. This is where NDCs come into
70
+ play.
71
+ </p>
72
+ <p>
73
+ Note that NDCs are managed on a per thread basis. NDC operations such as
74
+ push, pop(), clear(), getDepth() and setMaxDepth(int) affect the NDC of the
75
+ current thread only. NDCs of other threads remain unaffected. &#8230;
76
+ </p>
77
+ <p>
78
+ An important difference between NDCs in <a href="../Log4r.html">Log4r</a>
79
+ vs Log4j is that you do not have to called NDC.remove() when exiting a
80
+ thread.
81
+ </p>
82
+ <p>
83
+ This class will automatically create Thread specific storage for the
84
+ current thread on the first call to any of its methods, i.e.
85
+ </p>
86
+ <pre>
87
+ NDC.push( &quot;client accept&quot; );
88
+ </pre>
89
+ <p>
90
+ New threads may inherit the NDC of the parent thread by making use of the
91
+ clone_stack() and inherit() methods. By default, the NDC is not inherited
92
+ automatically. This is unlike MDCs, which will inherit from the main
93
+ thread.
94
+ </p>
95
+ <h2>Other Info</h2>
96
+ <table>
97
+ <tr><td valign="top">Version:</td><td>$Id: NDC.rb,v 1.5 2010/02/03 05:20:05 colbygk Exp $
98
+
99
+ </td></tr>
100
+ <tr><td valign="top">Author:</td><td>Colby Gutierrez-Kraybill <colby(at)astro.berkeley.edu>
101
+
102
+ </td></tr>
103
+ </table>
104
+
105
+ </div>
106
+
107
+ </div>
108
+ </body>
109
+ </html>
110
+
@@ -0,0 +1,280 @@
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
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Log4r::ObjectFormatter</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="file-metadata">
26
+ <div id="file-list-section" class="section">
27
+ <h3 class="section-header">In Files</h3>
28
+ <div class="section-body">
29
+ <ul>
30
+
31
+ <li><a href="../log4r/formatter/formatter_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
+ class="thickbox" title="log4r/formatter/formatter.rb">log4r/formatter/formatter.rb</a></li>
33
+
34
+ </ul>
35
+ </div>
36
+ </div>
37
+
38
+
39
+ </div>
40
+
41
+ <div id="class-metadata">
42
+
43
+ <!-- Parent Class -->
44
+
45
+ <div id="parent-class-section" class="section">
46
+ <h3 class="section-header">Parent</h3>
47
+
48
+ <p class="link">Formatter</p>
49
+
50
+ </div>
51
+
52
+
53
+ <!-- Namespace Contents -->
54
+
55
+
56
+ <!-- Method Quickref -->
57
+
58
+ <div id="method-list-section" class="section">
59
+ <h3 class="section-header">Methods</h3>
60
+ <ul class="link-list">
61
+
62
+ <li><a href="#M000019">#format</a></li>
63
+
64
+ </ul>
65
+ </div>
66
+
67
+
68
+ <!-- Included Modules -->
69
+
70
+ </div>
71
+
72
+ <div id="project-metadata">
73
+
74
+
75
+ <div id="fileindex-section" class="section project-section">
76
+ <h3 class="section-header">Files</h3>
77
+ <ul>
78
+
79
+ <li class="file"><a href="../log4r/rdoc/GDC.html">GDC</a></li>
80
+
81
+ <li class="file"><a href="../log4r/rdoc/MDC.html">MDC</a></li>
82
+
83
+ <li class="file"><a href="../log4r/rdoc/NDC.html">NDC</a></li>
84
+
85
+ <li class="file"><a href="../log4r/rdoc/configurator.html">configurator</a></li>
86
+
87
+ <li class="file"><a href="../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
88
+
89
+ <li class="file"><a href="../log4r/rdoc/formatter.html">formatter</a></li>
90
+
91
+ <li class="file"><a href="../log4r/rdoc/log4r.html">log4r</a></li>
92
+
93
+ <li class="file"><a href="../log4r/rdoc/logger.html">logger</a></li>
94
+
95
+ <li class="file"><a href="../log4r/rdoc/logserver.html">logserver</a></li>
96
+
97
+ <li class="file"><a href="../log4r/rdoc/outputter.html">outputter</a></li>
98
+
99
+ <li class="file"><a href="../log4r/rdoc/patternformatter.html">patternformatter</a></li>
100
+
101
+ <li class="file"><a href="../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
102
+
103
+ <li class="file"><a href="../log4r/rdoc/win32eventoutputter.html">win32eventoutputter</a></li>
104
+
105
+ <li class="file"><a href="../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
106
+
107
+ </ul>
108
+ </div>
109
+
110
+
111
+ <div id="classindex-section" class="section project-section">
112
+ <h3 class="section-header">Class Index
113
+ <span class="search-toggle"><img src="../images/find.png"
114
+ height="16" width="16" alt="[+]"
115
+ title="show/hide quicksearch" /></span></h3>
116
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
117
+ <fieldset>
118
+ <legend>Quicksearch</legend>
119
+ <input type="text" name="quicksearch" value=""
120
+ class="quicksearch-field" />
121
+ </fieldset>
122
+ </form>
123
+
124
+ <ul class="link-list">
125
+
126
+ <li><a href="../Log4r.html">Log4r</a></li>
127
+
128
+ <li><a href="../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
129
+
130
+ <li><a href="../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
131
+
132
+ <li><a href="../Log4r/Configurator.html">Log4r::Configurator</a></li>
133
+
134
+ <li><a href="../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
135
+
136
+ <li><a href="../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
137
+
138
+ <li><a href="../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
139
+
140
+ <li><a href="../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
141
+
142
+ <li><a href="../Log4r/Formatter.html">Log4r::Formatter</a></li>
143
+
144
+ <li><a href="../Log4r/GDC.html">Log4r::GDC</a></li>
145
+
146
+ <li><a href="../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
147
+
148
+ <li><a href="../Log4r/Log4jXmlFormatter.html">Log4r::Log4jXmlFormatter</a></li>
149
+
150
+ <li><a href="../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
151
+
152
+ <li><a href="../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
153
+
154
+ <li><a href="../Log4r/LogServer.html">Log4r::LogServer</a></li>
155
+
156
+ <li><a href="../Log4r/Logger.html">Log4r::Logger</a></li>
157
+
158
+ <li><a href="../Log4r/MDC.html">Log4r::MDC</a></li>
159
+
160
+ <li><a href="../Log4r/NDC.html">Log4r::NDC</a></li>
161
+
162
+ <li><a href="../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
163
+
164
+ <li><a href="../Log4r/Outputter.html">Log4r::Outputter</a></li>
165
+
166
+ <li><a href="../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
167
+
168
+ <li><a href="../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
169
+
170
+ <li><a href="../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
171
+
172
+ <li><a href="../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
173
+
174
+ <li><a href="../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
175
+
176
+ <li><a href="../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
177
+
178
+ <li><a href="../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
179
+
180
+ <li><a href="../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
181
+
182
+ <li><a href="../Log4r/UDPOutputter.html">Log4r::UDPOutputter</a></li>
183
+
184
+ <li><a href="../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
185
+
186
+ </ul>
187
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
188
+ </div>
189
+
190
+
191
+ </div>
192
+ </div>
193
+
194
+ <div id="documentation">
195
+ <h1 class="class">Log4r::ObjectFormatter</h1>
196
+
197
+ <div id="description">
198
+ <p>
199
+ Formats objects the same way irb does:
200
+ </p>
201
+ <pre>
202
+ loggername:foo.rb in 12&gt;
203
+ [1, 3, 4]
204
+ loggername:foo.rb in 13&gt;
205
+ {1=&gt;&quot;1&quot;}
206
+ </pre>
207
+ <p>
208
+ Strings don&#8217;t get inspected. just printed. The trace is optional.
209
+ </p>
210
+
211
+ </div>
212
+
213
+ <!-- Constants -->
214
+
215
+
216
+ <!-- Attributes -->
217
+
218
+
219
+ <!-- Methods -->
220
+
221
+ <div id="public-instance-method-details" class="method-section section">
222
+ <h3 class="section-header">Public Instance Methods</h3>
223
+
224
+
225
+ <div id="format-method" class="method-detail ">
226
+ <a name="M000019"></a>
227
+
228
+ <div class="method-heading">
229
+
230
+ <span class="method-name">format</span><span
231
+ class="method-args">(event)</span>
232
+ <span class="method-click-advice">click to toggle source</span>
233
+
234
+ </div>
235
+
236
+ <div class="method-description">
237
+
238
+ <p class="missing-docs">(Not documented)</p>
239
+
240
+
241
+
242
+ <div class="method-source-code"
243
+ id="format-source">
244
+ <pre>
245
+ <span class="ruby-comment cmt"># File log4r/formatter/formatter.rb, line 92</span>
246
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">event</span>)
247
+ <span class="ruby-identifier">buff</span> = <span class="ruby-identifier">event</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">name</span>
248
+ <span class="ruby-identifier">buff</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">event</span>.<span class="ruby-identifier">tracer</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;:#{event.tracer[0]}&quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;&gt;\n&quot;</span>
249
+ <span class="ruby-identifier">buff</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">String</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">event</span>.<span class="ruby-identifier">data</span>.<span class="ruby-identifier">inspect</span>)
250
+ <span class="ruby-identifier">buff</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
251
+ <span class="ruby-keyword kw">end</span></pre>
252
+ </div>
253
+
254
+ </div>
255
+
256
+
257
+ </div>
258
+
259
+
260
+ </div>
261
+
262
+
263
+ </div>
264
+
265
+
266
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
267
+
268
+ <p>Disabled; run with --debug to generate this.</p>
269
+
270
+ </div>
271
+
272
+ <div id="validator-badges">
273
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
274
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
275
+ Rdoc Generator</a> 1.1.6</small>.</p>
276
+ </div>
277
+
278
+ </body>
279
+ </html>
280
+
@@ -0,0 +1,934 @@
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
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Log4r::Outputter</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="file-metadata">
26
+ <div id="file-list-section" class="section">
27
+ <h3 class="section-header">In Files</h3>
28
+ <div class="section-body">
29
+ <ul>
30
+
31
+ <li><a href="../log4r/outputter/outputter_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
+ class="thickbox" title="log4r/outputter/outputter.rb">log4r/outputter/outputter.rb</a></li>
33
+
34
+ <li><a href="../log4r/outputter/outputterfactory_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
35
+ class="thickbox" title="log4r/outputter/outputterfactory.rb">log4r/outputter/outputterfactory.rb</a></li>
36
+
37
+ <li><a href="../log4r/outputter/staticoutputter_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="log4r/outputter/staticoutputter.rb">log4r/outputter/staticoutputter.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+
51
+ <div id="parent-class-section" class="section">
52
+ <h3 class="section-header">Parent</h3>
53
+
54
+ <p class="link">Object</p>
55
+
56
+ </div>
57
+
58
+
59
+ <!-- Namespace Contents -->
60
+
61
+ <div id="namespace-list-section" class="section">
62
+ <h3 class="section-header">Namespace</h3>
63
+ <ul class="link-list">
64
+
65
+ <li><span class="type">CLASS</span> <a href="Outputter/OutputterFactory.html">Log4r::Outputter::OutputterFactory</a></li>
66
+
67
+ </ul>
68
+ </div>
69
+
70
+
71
+ <!-- Method Quickref -->
72
+
73
+ <div id="method-list-section" class="section">
74
+ <h3 class="section-header">Methods</h3>
75
+ <ul class="link-list">
76
+
77
+ <li><a href="#M000115">::[]</a></li>
78
+
79
+ <li><a href="#M000118">::[]=</a></li>
80
+
81
+ <li><a href="#M000121">::each</a></li>
82
+
83
+ <li><a href="#M000122">::each_outputter</a></li>
84
+
85
+ <li><a href="#M000098">::new</a></li>
86
+
87
+ <li><a href="#M000117">::stderr</a></li>
88
+
89
+ <li><a href="#M000116">::stdout</a></li>
90
+
91
+ <li><a href="#M000104">#canonical_log</a></li>
92
+
93
+ <li><a href="#M000102">#flush</a></li>
94
+
95
+ <li><a href="#M000105">#format</a></li>
96
+
97
+ <li><a href="#M000101">#formatter=</a></li>
98
+
99
+ <li><a href="#M000099">#level=</a></li>
100
+
101
+ <li><a href="#M000100">#only_at</a></li>
102
+
103
+ <li><a href="#M000107">#synch</a></li>
104
+
105
+ <li><a href="#M000103">#validate_hash</a></li>
106
+
107
+ <li><a href="#M000106">#write</a></li>
108
+
109
+ </ul>
110
+ </div>
111
+
112
+
113
+ <!-- Included Modules -->
114
+
115
+ </div>
116
+
117
+ <div id="project-metadata">
118
+
119
+
120
+ <div id="fileindex-section" class="section project-section">
121
+ <h3 class="section-header">Files</h3>
122
+ <ul>
123
+
124
+ <li class="file"><a href="../log4r/rdoc/GDC.html">GDC</a></li>
125
+
126
+ <li class="file"><a href="../log4r/rdoc/MDC.html">MDC</a></li>
127
+
128
+ <li class="file"><a href="../log4r/rdoc/NDC.html">NDC</a></li>
129
+
130
+ <li class="file"><a href="../log4r/rdoc/configurator.html">configurator</a></li>
131
+
132
+ <li class="file"><a href="../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
133
+
134
+ <li class="file"><a href="../log4r/rdoc/formatter.html">formatter</a></li>
135
+
136
+ <li class="file"><a href="../log4r/rdoc/log4r.html">log4r</a></li>
137
+
138
+ <li class="file"><a href="../log4r/rdoc/logger.html">logger</a></li>
139
+
140
+ <li class="file"><a href="../log4r/rdoc/logserver.html">logserver</a></li>
141
+
142
+ <li class="file"><a href="../log4r/rdoc/outputter.html">outputter</a></li>
143
+
144
+ <li class="file"><a href="../log4r/rdoc/patternformatter.html">patternformatter</a></li>
145
+
146
+ <li class="file"><a href="../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
147
+
148
+ <li class="file"><a href="../log4r/rdoc/win32eventoutputter.html">win32eventoutputter</a></li>
149
+
150
+ <li class="file"><a href="../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
151
+
152
+ </ul>
153
+ </div>
154
+
155
+
156
+ <div id="classindex-section" class="section project-section">
157
+ <h3 class="section-header">Class Index
158
+ <span class="search-toggle"><img src="../images/find.png"
159
+ height="16" width="16" alt="[+]"
160
+ title="show/hide quicksearch" /></span></h3>
161
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
162
+ <fieldset>
163
+ <legend>Quicksearch</legend>
164
+ <input type="text" name="quicksearch" value=""
165
+ class="quicksearch-field" />
166
+ </fieldset>
167
+ </form>
168
+
169
+ <ul class="link-list">
170
+
171
+ <li><a href="../Log4r.html">Log4r</a></li>
172
+
173
+ <li><a href="../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
174
+
175
+ <li><a href="../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
176
+
177
+ <li><a href="../Log4r/Configurator.html">Log4r::Configurator</a></li>
178
+
179
+ <li><a href="../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
180
+
181
+ <li><a href="../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
182
+
183
+ <li><a href="../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
184
+
185
+ <li><a href="../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
186
+
187
+ <li><a href="../Log4r/Formatter.html">Log4r::Formatter</a></li>
188
+
189
+ <li><a href="../Log4r/GDC.html">Log4r::GDC</a></li>
190
+
191
+ <li><a href="../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
192
+
193
+ <li><a href="../Log4r/Log4jXmlFormatter.html">Log4r::Log4jXmlFormatter</a></li>
194
+
195
+ <li><a href="../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
196
+
197
+ <li><a href="../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
198
+
199
+ <li><a href="../Log4r/LogServer.html">Log4r::LogServer</a></li>
200
+
201
+ <li><a href="../Log4r/Logger.html">Log4r::Logger</a></li>
202
+
203
+ <li><a href="../Log4r/MDC.html">Log4r::MDC</a></li>
204
+
205
+ <li><a href="../Log4r/NDC.html">Log4r::NDC</a></li>
206
+
207
+ <li><a href="../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
208
+
209
+ <li><a href="../Log4r/Outputter.html">Log4r::Outputter</a></li>
210
+
211
+ <li><a href="../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
212
+
213
+ <li><a href="../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
214
+
215
+ <li><a href="../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
216
+
217
+ <li><a href="../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
218
+
219
+ <li><a href="../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
220
+
221
+ <li><a href="../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
222
+
223
+ <li><a href="../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
224
+
225
+ <li><a href="../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
226
+
227
+ <li><a href="../Log4r/UDPOutputter.html">Log4r::UDPOutputter</a></li>
228
+
229
+ <li><a href="../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
230
+
231
+ </ul>
232
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
233
+ </div>
234
+
235
+
236
+ </div>
237
+ </div>
238
+
239
+ <div id="documentation">
240
+ <h1 class="class">Log4r::Outputter</h1>
241
+
242
+ <div id="description">
243
+
244
+ </div>
245
+
246
+ <!-- Constants -->
247
+
248
+
249
+ <!-- Attributes -->
250
+
251
+ <div id="attribute-method-details" class="method-section section">
252
+ <h3 class="section-header">Attributes</h3>
253
+
254
+
255
+ <div id="name-attribute-method" class="method-detail">
256
+ <a name="name"></a>
257
+
258
+ <div class="method-heading attribute-method-heading">
259
+ <span class="method-name">name</span><span
260
+ class="attribute-access-type">[R]</span>
261
+ </div>
262
+
263
+ <div class="method-description">
264
+
265
+ <p class="missing-docs">(Not documented)</p>
266
+
267
+ </div>
268
+ </div>
269
+
270
+ <div id="level-attribute-method" class="method-detail">
271
+ <a name="level"></a>
272
+
273
+ <div class="method-heading attribute-method-heading">
274
+ <span class="method-name">level</span><span
275
+ class="attribute-access-type">[R]</span>
276
+ </div>
277
+
278
+ <div class="method-description">
279
+
280
+ <p class="missing-docs">(Not documented)</p>
281
+
282
+ </div>
283
+ </div>
284
+
285
+ <div id="formatter-attribute-method" class="method-detail">
286
+ <a name="formatter"></a>
287
+
288
+ <div class="method-heading attribute-method-heading">
289
+ <span class="method-name">formatter</span><span
290
+ class="attribute-access-type">[R]</span>
291
+ </div>
292
+
293
+ <div class="method-description">
294
+
295
+ <p class="missing-docs">(Not documented)</p>
296
+
297
+ </div>
298
+ </div>
299
+
300
+ </div>
301
+
302
+
303
+ <!-- Methods -->
304
+
305
+ <div id="public-class-method-details" class="method-section section">
306
+ <h3 class="section-header">Public Class Methods</h3>
307
+
308
+
309
+ <div id="--method" class="method-detail ">
310
+ <a name="M000115"></a>
311
+
312
+ <div class="method-heading">
313
+
314
+ <span class="method-name">[]</span><span
315
+ class="method-args">(name)</span>
316
+ <span class="method-click-advice">click to toggle source</span>
317
+
318
+ </div>
319
+
320
+ <div class="method-description">
321
+
322
+ <p>
323
+ Retrieve an outputter.
324
+ </p>
325
+
326
+
327
+
328
+ <div class="method-source-code"
329
+ id="--source">
330
+ <pre>
331
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 6</span>
332
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-operator">[]</span>(<span class="ruby-identifier">name</span>)
333
+ <span class="ruby-identifier">out</span> = <span class="ruby-ivar">@@outputters</span>[<span class="ruby-identifier">name</span>]
334
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">out</span>.<span class="ruby-identifier">nil?</span>
335
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">name</span>
336
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'stdout'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">StdoutOutputter</span>.<span class="ruby-identifier">new</span> <span class="ruby-value str">'stdout'</span>
337
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'stderr'</span> <span class="ruby-keyword kw">then</span> <span class="ruby-constant">StderrOutputter</span>.<span class="ruby-identifier">new</span> <span class="ruby-value str">'stderr'</span>
338
+ <span class="ruby-keyword kw">else</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">end</span>
339
+ <span class="ruby-keyword kw">end</span>
340
+ <span class="ruby-identifier">out</span>
341
+ <span class="ruby-keyword kw">end</span></pre>
342
+ </div>
343
+
344
+ </div>
345
+
346
+
347
+ </div>
348
+
349
+
350
+ <div id="--method" class="method-detail ">
351
+ <a name="M000118"></a>
352
+
353
+ <div class="method-heading">
354
+
355
+ <span class="method-name">[]=</span><span
356
+ class="method-args">(name, outputter)</span>
357
+ <span class="method-click-advice">click to toggle source</span>
358
+
359
+ </div>
360
+
361
+ <div class="method-description">
362
+
363
+ <p>
364
+ Set an outputter.
365
+ </p>
366
+
367
+
368
+
369
+ <div class="method-source-code"
370
+ id="--source">
371
+ <pre>
372
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 19</span>
373
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-operator">[]=</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">outputter</span>)
374
+ <span class="ruby-ivar">@@outputters</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">outputter</span>
375
+ <span class="ruby-keyword kw">end</span></pre>
376
+ </div>
377
+
378
+ </div>
379
+
380
+
381
+ </div>
382
+
383
+
384
+ <div id="each-method" class="method-detail ">
385
+ <a name="M000121"></a>
386
+
387
+ <div class="method-heading">
388
+
389
+ <span class="method-name">each</span><span
390
+ class="method-args">()</span>
391
+ <span class="method-click-advice">click to toggle source</span>
392
+
393
+ </div>
394
+
395
+ <div class="method-description">
396
+
397
+ <p>
398
+ Yields each outputter&#8217;s name and reference.
399
+ </p>
400
+
401
+
402
+
403
+ <div class="method-source-code"
404
+ id="each-source">
405
+ <pre>
406
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 23</span>
407
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each</span>
408
+ <span class="ruby-ivar">@@outputters</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">outputter</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">name</span>, <span class="ruby-identifier">outputter</span>}
409
+ <span class="ruby-keyword kw">end</span></pre>
410
+ </div>
411
+
412
+ </div>
413
+
414
+
415
+ </div>
416
+
417
+
418
+ <div id="each-outputter-method" class="method-detail ">
419
+ <a name="M000122"></a>
420
+
421
+ <div class="method-heading">
422
+
423
+ <span class="method-name">each_outputter</span><span
424
+ class="method-args">()</span>
425
+ <span class="method-click-advice">click to toggle source</span>
426
+
427
+ </div>
428
+
429
+ <div class="method-description">
430
+
431
+ <p class="missing-docs">(Not documented)</p>
432
+
433
+
434
+
435
+ <div class="method-source-code"
436
+ id="each-outputter-source">
437
+ <pre>
438
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 26</span>
439
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_outputter</span>
440
+ <span class="ruby-ivar">@@outputters</span>.<span class="ruby-identifier">each_value</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">outputter</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">outputter</span>}
441
+ <span class="ruby-keyword kw">end</span></pre>
442
+ </div>
443
+
444
+ </div>
445
+
446
+
447
+ </div>
448
+
449
+
450
+ <div id="new-method" class="method-detail ">
451
+ <a name="M000098"></a>
452
+
453
+ <div class="method-heading">
454
+
455
+ <span class="method-name">new</span><span
456
+ class="method-args">(_name, hash={})</span>
457
+ <span class="method-click-advice">click to toggle source</span>
458
+
459
+ </div>
460
+
461
+ <div class="method-description">
462
+
463
+ <p>
464
+ An <a href="Outputter.html">Outputter</a> needs a name. <a
465
+ href="RootLogger.html">RootLogger</a> will be loaded if not already done.
466
+ The hash arguments are as follows:
467
+ </p>
468
+ <dl>
469
+ <dt><tt>:level</tt></dt><dd><a href="Logger.html">Logger</a> level. Optional, defaults to root level
470
+
471
+ </dd>
472
+ <dt><tt>:formatter</tt></dt><dd>A <a href="Formatter.html">Formatter</a>. Defaults to <a
473
+ href="DefaultFormatter.html">DefaultFormatter</a>
474
+
475
+ </dd>
476
+ </dl>
477
+
478
+
479
+
480
+ <div class="method-source-code"
481
+ id="new-source">
482
+ <pre>
483
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 26</span>
484
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">_name</span>, <span class="ruby-identifier">hash</span>={})
485
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_name</span>.<span class="ruby-identifier">nil?</span>
486
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Bad arguments. Name and IO expected.&quot;</span>, <span class="ruby-identifier">caller</span>
487
+ <span class="ruby-keyword kw">end</span>
488
+ <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">_name</span>
489
+ <span class="ruby-identifier">validate_hash</span>(<span class="ruby-identifier">hash</span>)
490
+ <span class="ruby-ivar">@@outputters</span>[<span class="ruby-ivar">@name</span>] = <span class="ruby-keyword kw">self</span>
491
+ <span class="ruby-keyword kw">end</span></pre>
492
+ </div>
493
+
494
+ </div>
495
+
496
+
497
+ </div>
498
+
499
+
500
+ <div id="stderr-method" class="method-detail ">
501
+ <a name="M000117"></a>
502
+
503
+ <div class="method-heading">
504
+
505
+ <span class="method-name">stderr</span><span
506
+ class="method-args">()</span>
507
+ <span class="method-click-advice">click to toggle source</span>
508
+
509
+ </div>
510
+
511
+ <div class="method-description">
512
+
513
+ <p class="missing-docs">(Not documented)</p>
514
+
515
+
516
+
517
+ <div class="method-source-code"
518
+ id="stderr-source">
519
+ <pre>
520
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 17</span>
521
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">stderr</span>; <span class="ruby-constant">Outputter</span>[<span class="ruby-value str">'stderr'</span>] <span class="ruby-keyword kw">end</span></pre>
522
+ </div>
523
+
524
+ </div>
525
+
526
+
527
+ </div>
528
+
529
+
530
+ <div id="stdout-method" class="method-detail ">
531
+ <a name="M000116"></a>
532
+
533
+ <div class="method-heading">
534
+
535
+ <span class="method-name">stdout</span><span
536
+ class="method-args">()</span>
537
+ <span class="method-click-advice">click to toggle source</span>
538
+
539
+ </div>
540
+
541
+ <div class="method-description">
542
+
543
+ <p class="missing-docs">(Not documented)</p>
544
+
545
+
546
+
547
+ <div class="method-source-code"
548
+ id="stdout-source">
549
+ <pre>
550
+ <span class="ruby-comment cmt"># File log4r/outputter/staticoutputter.rb, line 16</span>
551
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">stdout</span>; <span class="ruby-constant">Outputter</span>[<span class="ruby-value str">'stdout'</span>] <span class="ruby-keyword kw">end</span></pre>
552
+ </div>
553
+
554
+ </div>
555
+
556
+
557
+ </div>
558
+
559
+
560
+ </div>
561
+
562
+ <div id="public-instance-method-details" class="method-section section">
563
+ <h3 class="section-header">Public Instance Methods</h3>
564
+
565
+
566
+ <div id="flush-method" class="method-detail ">
567
+ <a name="M000102"></a>
568
+
569
+ <div class="method-heading">
570
+
571
+ <span class="method-name">flush</span><span
572
+ class="method-args">()</span>
573
+ <span class="method-click-advice">click to toggle source</span>
574
+
575
+ </div>
576
+
577
+ <div class="method-description">
578
+
579
+ <p>
580
+ Call flush to force an outputter to write out any buffered log events.
581
+ Similar to IO#flush, so use in a similar fashion.
582
+ </p>
583
+
584
+
585
+
586
+ <div class="method-source-code"
587
+ id="flush-source">
588
+ <pre>
589
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 78</span>
590
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
591
+ <span class="ruby-keyword kw">end</span></pre>
592
+ </div>
593
+
594
+ </div>
595
+
596
+
597
+ </div>
598
+
599
+
600
+ <div id="formatter--method" class="method-detail ">
601
+ <a name="M000101"></a>
602
+
603
+ <div class="method-heading">
604
+
605
+ <span class="method-name">formatter=</span><span
606
+ class="method-args">(_formatter)</span>
607
+ <span class="method-click-advice">click to toggle source</span>
608
+
609
+ </div>
610
+
611
+ <div class="method-description">
612
+
613
+ <p>
614
+ Dynamically change the formatter. You can just specify a Class object and
615
+ the formatter will invoke <tt>new</tt> or <tt>instance</tt> on it as
616
+ appropriate.
617
+ </p>
618
+
619
+
620
+
621
+ <div class="method-source-code"
622
+ id="formatter--source">
623
+ <pre>
624
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 60</span>
625
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">formatter=</span>(<span class="ruby-identifier">_formatter</span>)
626
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_formatter</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Formatter</span>)
627
+ <span class="ruby-ivar">@formatter</span> = <span class="ruby-identifier">_formatter</span>
628
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">_formatter</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">_formatter</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">Formatter</span>
629
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_formatter</span>.<span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">:instance</span>
630
+ <span class="ruby-ivar">@formatter</span> = <span class="ruby-identifier">_formatter</span>.<span class="ruby-identifier">instance</span>
631
+ <span class="ruby-keyword kw">else</span>
632
+ <span class="ruby-ivar">@formatter</span> = <span class="ruby-identifier">_formatter</span>.<span class="ruby-identifier">new</span>
633
+ <span class="ruby-keyword kw">end</span>
634
+ <span class="ruby-keyword kw">else</span>
635
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-value str">&quot;Argument was not a Formatter!&quot;</span>, <span class="ruby-identifier">caller</span>
636
+ <span class="ruby-keyword kw">end</span>
637
+ <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">log_internal</span> {<span class="ruby-node">&quot;Outputter '#{@name}' using #{@formatter.class}&quot;</span>}
638
+ <span class="ruby-keyword kw">end</span></pre>
639
+ </div>
640
+
641
+ </div>
642
+
643
+
644
+ </div>
645
+
646
+
647
+ <div id="level--method" class="method-detail ">
648
+ <a name="M000099"></a>
649
+
650
+ <div class="method-heading">
651
+
652
+ <span class="method-name">level=</span><span
653
+ class="method-args">(_level)</span>
654
+ <span class="method-click-advice">click to toggle source</span>
655
+
656
+ </div>
657
+
658
+ <div class="method-description">
659
+
660
+ <p>
661
+ dynamically change the level
662
+ </p>
663
+
664
+
665
+
666
+ <div class="method-source-code"
667
+ id="level--source">
668
+ <pre>
669
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 36</span>
670
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">level=</span>(<span class="ruby-identifier">_level</span>)
671
+ <span class="ruby-constant">Log4rTools</span>.<span class="ruby-identifier">validate_level</span>(<span class="ruby-identifier">_level</span>)
672
+ <span class="ruby-ivar">@level</span> = <span class="ruby-identifier">_level</span>
673
+ <span class="ruby-constant">OutputterFactory</span>.<span class="ruby-identifier">create_methods</span>(<span class="ruby-keyword kw">self</span>)
674
+ <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">log_internal</span> {<span class="ruby-node">&quot;Outputter '#{@name}' level is #{LNAMES[_level]}&quot;</span>}
675
+ <span class="ruby-keyword kw">end</span></pre>
676
+ </div>
677
+
678
+ </div>
679
+
680
+
681
+ </div>
682
+
683
+
684
+ <div id="only-at-method" class="method-detail ">
685
+ <a name="M000100"></a>
686
+
687
+ <div class="method-heading">
688
+
689
+ <span class="method-name">only_at</span><span
690
+ class="method-args">(*levels)</span>
691
+ <span class="method-click-advice">click to toggle source</span>
692
+
693
+ </div>
694
+
695
+ <div class="method-description">
696
+
697
+ <p>
698
+ Set the levels to log. All others will be ignored
699
+ </p>
700
+
701
+
702
+
703
+ <div class="method-source-code"
704
+ id="only-at-source">
705
+ <pre>
706
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 44</span>
707
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">only_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">levels</span>)
708
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Gimme some levels!&quot;</span>, <span class="ruby-identifier">caller</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">levels</span>.<span class="ruby-identifier">empty?</span>
709
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Can't log only_at ALL&quot;</span>, <span class="ruby-identifier">caller</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">levels</span>.<span class="ruby-identifier">include?</span> <span class="ruby-constant">ALL</span>
710
+ <span class="ruby-identifier">levels</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">level</span><span class="ruby-operator">|</span> <span class="ruby-constant">Log4rTools</span>.<span class="ruby-identifier">validate_level</span>(<span class="ruby-identifier">level</span>)}
711
+ <span class="ruby-ivar">@level</span> = <span class="ruby-identifier">levels</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">first</span>
712
+ <span class="ruby-constant">OutputterFactory</span>.<span class="ruby-identifier">create_methods</span> <span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">levels</span>
713
+ <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">log_internal</span> {
714
+ <span class="ruby-node">&quot;Outputter '#{@name}' writes only on &quot;</span> <span class="ruby-operator">+</span>\
715
+ <span class="ruby-identifier">levels</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-constant">LNAMES</span>[<span class="ruby-identifier">l</span>]}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>)
716
+ }
717
+ <span class="ruby-keyword kw">end</span></pre>
718
+ </div>
719
+
720
+ </div>
721
+
722
+
723
+ </div>
724
+
725
+
726
+ <div id="validate-hash-method" class="method-detail ">
727
+ <a name="M000103"></a>
728
+
729
+ <div class="method-heading">
730
+
731
+ <span class="method-name">validate_hash</span><span
732
+ class="method-args">(hash)</span>
733
+ <span class="method-click-advice">click to toggle source</span>
734
+
735
+ </div>
736
+
737
+ <div class="method-description">
738
+
739
+ <p>
740
+ Validates the common hash arguments. For now, that would be
741
+ <tt>:level</tt>, <tt>:formatter</tt> and the string equivalents
742
+ </p>
743
+
744
+
745
+
746
+ <div class="method-source-code"
747
+ id="validate-hash-source">
748
+ <pre>
749
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 87</span>
750
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">validate_hash</span>(<span class="ruby-identifier">hash</span>)
751
+ <span class="ruby-ivar">@mutex</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
752
+ <span class="ruby-comment cmt"># default to root level and DefaultFormatter</span>
753
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash</span>.<span class="ruby-identifier">empty?</span>
754
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">level</span> = <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">level</span>
755
+ <span class="ruby-ivar">@formatter</span> = <span class="ruby-constant">DefaultFormatter</span>.<span class="ruby-identifier">new</span>
756
+ <span class="ruby-keyword kw">return</span>
757
+ <span class="ruby-keyword kw">end</span>
758
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">level</span> = (<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:level</span>] <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">hash</span>[<span class="ruby-value str">'level'</span>] <span class="ruby-keyword kw">or</span> <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">level</span>)
759
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">formatter</span> = (<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:formatter</span>] <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">hash</span>[<span class="ruby-value str">'formatter'</span>] <span class="ruby-keyword kw">or</span> <span class="ruby-constant">DefaultFormatter</span>.<span class="ruby-identifier">new</span>)
760
+ <span class="ruby-keyword kw">end</span></pre>
761
+ </div>
762
+
763
+ </div>
764
+
765
+
766
+ </div>
767
+
768
+
769
+ </div>
770
+
771
+ <div id="private-instance-method-details" class="method-section section">
772
+ <h3 class="section-header">Private Instance Methods</h3>
773
+
774
+
775
+ <div id="canonical-log-method" class="method-detail ">
776
+ <a name="M000104"></a>
777
+
778
+ <div class="method-heading">
779
+
780
+ <span class="method-name">canonical_log</span><span
781
+ class="method-args">(logevent)</span>
782
+ <span class="method-click-advice">click to toggle source</span>
783
+
784
+ </div>
785
+
786
+ <div class="method-description">
787
+
788
+ <p>
789
+ This method handles all log events passed to a typical <a
790
+ href="Outputter.html">Outputter</a>. Overload this to change the overall
791
+ behavior of an outputter. Make sure that the new behavior is thread safe.
792
+ </p>
793
+
794
+
795
+
796
+ <div class="method-source-code"
797
+ id="canonical-log-source">
798
+ <pre>
799
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 107</span>
800
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">canonical_log</span>(<span class="ruby-identifier">logevent</span>)
801
+ <span class="ruby-identifier">synch</span> { <span class="ruby-identifier">write</span>(<span class="ruby-identifier">format</span>(<span class="ruby-identifier">logevent</span>)) }
802
+ <span class="ruby-keyword kw">end</span></pre>
803
+ </div>
804
+
805
+ </div>
806
+
807
+
808
+ </div>
809
+
810
+
811
+ <div id="format-method" class="method-detail ">
812
+ <a name="M000105"></a>
813
+
814
+ <div class="method-heading">
815
+
816
+ <span class="method-name">format</span><span
817
+ class="method-args">(logevent)</span>
818
+ <span class="method-click-advice">click to toggle source</span>
819
+
820
+ </div>
821
+
822
+ <div class="method-description">
823
+
824
+ <p>
825
+ Common method to format data. All it does is call the resident
826
+ formatter&#8217;s format method. If a different formatting behavior is
827
+ needed, then overload this method.
828
+ </p>
829
+
830
+
831
+
832
+ <div class="method-source-code"
833
+ id="format-source">
834
+ <pre>
835
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 115</span>
836
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">logevent</span>)
837
+ <span class="ruby-comment cmt"># @formatter is guaranteed to be DefaultFormatter if no Formatter</span>
838
+ <span class="ruby-comment cmt"># was specified</span>
839
+ <span class="ruby-ivar">@formatter</span>.<span class="ruby-identifier">format</span>(<span class="ruby-identifier">logevent</span>)
840
+ <span class="ruby-keyword kw">end</span></pre>
841
+ </div>
842
+
843
+ </div>
844
+
845
+
846
+ </div>
847
+
848
+
849
+ <div id="synch-method" class="method-detail ">
850
+ <a name="M000107"></a>
851
+
852
+ <div class="method-heading">
853
+
854
+ <span class="method-name">synch</span><span
855
+ class="method-args">()</span>
856
+ <span class="method-click-advice">click to toggle source</span>
857
+
858
+ </div>
859
+
860
+ <div class="method-description">
861
+
862
+ <p class="missing-docs">(Not documented)</p>
863
+
864
+
865
+
866
+ <div class="method-source-code"
867
+ id="synch-source">
868
+ <pre>
869
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 128</span>
870
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">synch</span>; <span class="ruby-ivar">@mutex</span>.<span class="ruby-identifier">synchronize</span> { <span class="ruby-keyword kw">yield</span> } <span class="ruby-keyword kw">end</span></pre>
871
+ </div>
872
+
873
+ </div>
874
+
875
+
876
+ </div>
877
+
878
+
879
+ <div id="write-method" class="method-detail ">
880
+ <a name="M000106"></a>
881
+
882
+ <div class="method-heading">
883
+
884
+ <span class="method-name">write</span><span
885
+ class="method-args">(data)</span>
886
+ <span class="method-click-advice">click to toggle source</span>
887
+
888
+ </div>
889
+
890
+ <div class="method-description">
891
+
892
+ <p>
893
+ Abstract method to actually write the data to a destination. Custom
894
+ outputters should overload this to specify how the formatted data should be
895
+ written and to where.
896
+ </p>
897
+
898
+
899
+
900
+ <div class="method-source-code"
901
+ id="write-source">
902
+ <pre>
903
+ <span class="ruby-comment cmt"># File log4r/outputter/outputter.rb, line 125</span>
904
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">data</span>)
905
+ <span class="ruby-keyword kw">end</span></pre>
906
+ </div>
907
+
908
+ </div>
909
+
910
+
911
+ </div>
912
+
913
+
914
+ </div>
915
+
916
+
917
+ </div>
918
+
919
+
920
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
921
+
922
+ <p>Disabled; run with --debug to generate this.</p>
923
+
924
+ </div>
925
+
926
+ <div id="validator-badges">
927
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
928
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
929
+ Rdoc Generator</a> 1.1.6</small>.</p>
930
+ </div>
931
+
932
+ </body>
933
+ </html>
934
+