1 <?xml version="1.0" encoding="iso-8859-1"?>
3 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
8 <title>Class: MCollective::Logger::Console_logger</title>
9 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10 <meta http-equiv="Content-Script-Type" content="text/javascript" />
11 <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12 <script type="text/javascript">
15 function popupCode( url ) {
16 window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
19 function toggleCode( id ) {
20 if ( document.getElementById )
21 elem = document.getElementById( id );
22 else if ( document.all )
23 elem = eval( "document.all." + id );
27 elemStyle = elem.style;
29 if ( elemStyle.display != "block" ) {
30 elemStyle.display = "block"
32 elemStyle.display = "none"
38 // Make codeblocks hidden by default
39 document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
49 <div id="classHeader">
50 <table class="header-table">
51 <tr class="top-aligned-row">
52 <td><strong>Class</strong></td>
53 <td class="class-name-in-header">MCollective::Logger::Console_logger</td>
55 <tr class="top-aligned-row">
56 <td><strong>In:</strong></td>
58 <a href="../../../files/lib/mcollective/logger/console_logger_rb.html">
59 lib/mcollective/logger/console_logger.rb
65 <tr class="top-aligned-row">
66 <td><strong>Parent:</strong></td>
75 <!-- banner header -->
77 <div id="bodyContent">
81 <div id="contextContent">
83 <div id="description">
85 Implements a syslog based logger using the standard ruby syslog class
93 <div id="method-list">
94 <h3 class="section-bar">Methods</h3>
96 <div class="name-list">
97 <a href="#M000210">color</a>
98 <a href="#M000211">colorize</a>
99 <a href="#M000209">log</a>
100 <a href="#M000207">set_logging_level</a>
101 <a href="#M000206">start</a>
102 <a href="#M000208">valid_levels</a>
120 <!-- if method_list -->
122 <h3 class="section-bar">Public Instance methods</h3>
124 <div id="method-M000210" class="method-detail">
125 <a name="M000210"></a>
127 <div class="method-heading">
128 <a href="#M000210" class="method-signature">
129 <span class="method-name">color</span><span class="method-args">(level)</span>
133 <div class="method-description">
135 Set some colors for various logging levels, will honor the <a
136 href="Console_logger.html#M000210">color</a> configuration option and
137 return nothing if its configured not to
139 <p><a class="source-toggle" href="#"
140 onclick="toggleCode('M000210-source');return false;">[Source]</a></p>
141 <div class="method-source-code" id="M000210-source">
143 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 37</span>
144 37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">color</span>(<span class="ruby-identifier">level</span>)
145 38: <span class="ruby-identifier">colorize</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">color</span>
147 40: <span class="ruby-identifier">colors</span> = {<span class="ruby-identifier">:error</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">color</span>(<span class="ruby-identifier">:red</span>),
148 41: <span class="ruby-identifier">:fatal</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">color</span>(<span class="ruby-identifier">:red</span>),
149 42: <span class="ruby-identifier">:warn</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">color</span>(<span class="ruby-identifier">:yellow</span>),
150 43: <span class="ruby-identifier">:info</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">color</span>(<span class="ruby-identifier">:green</span>),
151 44: <span class="ruby-identifier">:reset</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">color</span>(<span class="ruby-identifier">:reset</span>)}
153 46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">colorize</span>
154 47: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">colors</span>[<span class="ruby-identifier">level</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>
155 48: <span class="ruby-keyword kw">else</span>
156 49: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">""</span>
157 50: <span class="ruby-keyword kw">end</span>
158 51: <span class="ruby-keyword kw">end</span>
164 <div id="method-M000211" class="method-detail">
165 <a name="M000211"></a>
167 <div class="method-heading">
168 <a href="#M000211" class="method-signature">
169 <span class="method-name">colorize</span><span class="method-args">(level, msg)</span>
173 <div class="method-description">
175 Helper to return a string in specific <a
176 href="Console_logger.html#M000210">color</a>
178 <p><a class="source-toggle" href="#"
179 onclick="toggleCode('M000211-source');return false;">[Source]</a></p>
180 <div class="method-source-code" id="M000211-source">
182 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 54</span>
183 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">msg</span>)
184 55: <span class="ruby-value str">"%s%s%s"</span> <span class="ruby-operator">%</span> [ <span class="ruby-identifier">color</span>(<span class="ruby-identifier">level</span>), <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">color</span>(<span class="ruby-identifier">:reset</span>) ]
185 56: <span class="ruby-keyword kw">end</span>
191 <div id="method-M000209" class="method-detail">
192 <a name="M000209"></a>
194 <div class="method-heading">
195 <a href="#M000209" class="method-signature">
196 <span class="method-name">log</span><span class="method-args">(level, from, msg, normal_output=STDERR, last_resort_output=STDERR)</span>
200 <div class="method-description">
201 <p><a class="source-toggle" href="#"
202 onclick="toggleCode('M000209-source');return false;">[Source]</a></p>
203 <div class="method-source-code" id="M000209-source">
205 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 24</span>
206 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">from</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">normal_output</span>=<span class="ruby-constant">STDERR</span>, <span class="ruby-identifier">last_resort_output</span>=<span class="ruby-constant">STDERR</span>)
207 25: <span class="ruby-identifier">time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%Y/%m/%d %H:%M:%S"</span>)
209 27: <span class="ruby-identifier">normal_output</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-value str">"%s %s: %s %s"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">level</span>), <span class="ruby-identifier">time</span>, <span class="ruby-identifier">from</span>, <span class="ruby-identifier">msg</span>])
210 28: <span class="ruby-keyword kw">rescue</span>
211 29: <span class="ruby-comment cmt"># if this fails we probably cant show the user output at all,</span>
212 30: <span class="ruby-comment cmt"># STDERR it as last resort</span>
213 31: <span class="ruby-identifier">last_resort_output</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-node">"#{level}: #{msg}"</span>)
214 32: <span class="ruby-keyword kw">end</span>
220 <div id="method-M000207" class="method-detail">
221 <a name="M000207"></a>
223 <div class="method-heading">
224 <a href="#M000207" class="method-signature">
225 <span class="method-name">set_logging_level</span><span class="method-args">(level)</span>
229 <div class="method-description">
230 <p><a class="source-toggle" href="#"
231 onclick="toggleCode('M000207-source');return false;">[Source]</a></p>
232 <div class="method-source-code" id="M000207-source">
234 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 12</span>
235 12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_logging_level</span>(<span class="ruby-identifier">level</span>)
236 13: <span class="ruby-comment cmt"># nothing to do here, we ignore high levels when we log</span>
237 14: <span class="ruby-keyword kw">end</span>
243 <div id="method-M000206" class="method-detail">
244 <a name="M000206"></a>
246 <div class="method-heading">
247 <a href="#M000206" class="method-signature">
248 <span class="method-name">start</span><span class="method-args">()</span>
252 <div class="method-description">
253 <p><a class="source-toggle" href="#"
254 onclick="toggleCode('M000206-source');return false;">[Source]</a></p>
255 <div class="method-source-code" id="M000206-source">
257 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 5</span>
258 5: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
259 6: <span class="ruby-identifier">set_level</span>(<span class="ruby-identifier">:info</span>)
261 8: <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">instance</span>
262 9: <span class="ruby-identifier">set_level</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">loglevel</span>.<span class="ruby-identifier">to_sym</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">configured</span>
263 10: <span class="ruby-keyword kw">end</span>
269 <div id="method-M000208" class="method-detail">
270 <a name="M000208"></a>
272 <div class="method-heading">
273 <a href="#M000208" class="method-signature">
274 <span class="method-name">valid_levels</span><span class="method-args">()</span>
278 <div class="method-description">
279 <p><a class="source-toggle" href="#"
280 onclick="toggleCode('M000208-source');return false;">[Source]</a></p>
281 <div class="method-source-code" id="M000208-source">
283 <span class="ruby-comment cmt"># File lib/mcollective/logger/console_logger.rb, line 16</span>
284 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid_levels</span>
285 17: {<span class="ruby-identifier">:info</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:info</span>,
286 18: <span class="ruby-identifier">:warn</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:warning</span>,
287 19: <span class="ruby-identifier">:debug</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:debug</span>,
288 20: <span class="ruby-identifier">:fatal</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:crit</span>,
289 21: <span class="ruby-identifier">:error</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:err</span>}
290 22: <span class="ruby-keyword kw">end</span>
303 <div id="validator-badges">
304 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>