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::Log</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::Log</td>
55 <tr class="top-aligned-row">
56 <td><strong>In:</strong></td>
58 <a href="../../files/lib/mcollective/log_rb.html">
59 lib/mcollective/log.rb
65 <tr class="top-aligned-row">
66 <td><strong>Parent:</strong></td>
73 <!-- banner header -->
75 <div id="bodyContent">
79 <div id="contextContent">
81 <div id="description">
83 A simple class that allows logging at various levels.
91 <div id="method-list">
92 <h3 class="section-bar">Methods</h3>
94 <div class="name-list">
95 <a href="#M000440">check_level</a>
96 <a href="#M000439">config_and_check_level</a>
97 <a href="#M000447">configure</a>
98 <a href="#M000438">cycle_level</a>
99 <a href="#M000434">debug</a>
100 <a href="#M000436">error</a>
101 <a href="#M000450">execution_stack</a>
102 <a href="#M000435">fatal</a>
103 <a href="#M000449">from</a>
104 <a href="#M000432">info</a>
105 <a href="#M000437">instance</a>
106 <a href="#M000445">log</a>
107 <a href="#M000443">logexception</a>
108 <a href="#M000431">logger</a>
109 <a href="#M000444">logmsg</a>
110 <a href="#M000442">message_for</a>
111 <a href="#M000446">set_logger</a>
112 <a href="#M000448">unconfigure</a>
113 <a href="#M000441">valid_level?</a>
114 <a href="#M000433">warn</a>
126 <div id="constants-list">
127 <h3 class="section-bar">Constants</h3>
129 <div class="name-list">
130 <table summary="Constants">
131 <tr class="top-aligned-row context-row">
132 <td class="context-item-name">VALID_LEVELS</td>
134 <td class="context-item-value">[:error, :fatal, :debug, :warn, :info]</td>
145 <!-- if method_list -->
147 <h3 class="section-bar">Public Class methods</h3>
149 <div id="method-M000440" class="method-detail">
150 <a name="M000440"></a>
152 <div class="method-heading">
153 <a href="#M000440" class="method-signature">
154 <span class="method-name">check_level</span><span class="method-args">(level)</span>
158 <div class="method-description">
159 <p><a class="source-toggle" href="#"
160 onclick="toggleCode('M000440-source');return false;">[Source]</a></p>
161 <div class="method-source-code" id="M000440-source">
163 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 55</span>
164 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check_level</span>(<span class="ruby-identifier">level</span>)
165 56: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Unknown log level"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">valid_level?</span>(<span class="ruby-identifier">level</span>)
166 57: <span class="ruby-keyword kw">end</span>
172 <div id="method-M000439" class="method-detail">
173 <a name="M000439"></a>
175 <div class="method-heading">
176 <a href="#M000439" class="method-signature">
177 <span class="method-name">config_and_check_level</span><span class="method-args">(level)</span>
181 <div class="method-description">
182 <p><a class="source-toggle" href="#"
183 onclick="toggleCode('M000439-source');return false;">[Source]</a></p>
184 <div class="method-source-code" id="M000439-source">
186 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 49</span>
187 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config_and_check_level</span>(<span class="ruby-identifier">level</span>)
188 50: <span class="ruby-identifier">configure</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@configured</span>
189 51: <span class="ruby-identifier">check_level</span>(<span class="ruby-identifier">level</span>)
190 52: <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">should_log?</span>(<span class="ruby-identifier">level</span>)
191 53: <span class="ruby-keyword kw">end</span>
197 <div id="method-M000447" class="method-detail">
198 <a name="M000447"></a>
200 <div class="method-heading">
201 <a href="#M000447" class="method-signature">
202 <span class="method-name">configure</span><span class="method-args">(logger=nil)</span>
206 <div class="method-description">
208 configures the <a href="Log.html#M000431">logger</a> class, if the config
209 has not yet been loaded we default to the console logging class and do not
210 set @configured so that future calls to the <a
211 href="Log.html#M000445">log</a> method will keep attempting to <a
212 href="Log.html#M000447">configure</a> the <a
213 href="Log.html#M000431">logger</a> till we eventually get a logging
214 preference <a href="Log.html#M000449">from</a> the config module
216 <p><a class="source-toggle" href="#"
217 onclick="toggleCode('M000447-source');return false;">[Source]</a></p>
218 <div class="method-source-code" id="M000447-source">
220 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 130</span>
221 130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure</span>(<span class="ruby-identifier">logger</span>=<span class="ruby-keyword kw">nil</span>)
222 131: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">logger</span>
223 132: <span class="ruby-identifier">logger_type</span> = <span class="ruby-value str">"console"</span>
225 134: <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">instance</span>
227 136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">configured</span>
228 137: <span class="ruby-identifier">logger_type</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">logger_type</span>
229 138: <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">true</span>
230 139: <span class="ruby-keyword kw">end</span>
232 141: <span class="ruby-identifier">require</span> <span class="ruby-value str">"mcollective/logger/%s_logger"</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">logger_type</span>.<span class="ruby-identifier">downcase</span>
234 143: <span class="ruby-identifier">logger_class</span> = <span class="ruby-constant">MCollective</span><span class="ruby-operator">::</span><span class="ruby-constant">Logger</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-value str">"%s_logger"</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">logger_type</span>.<span class="ruby-identifier">capitalize</span>)
236 145: <span class="ruby-identifier">set_logger</span>(<span class="ruby-identifier">logger_class</span>.<span class="ruby-identifier">new</span>)
237 146: <span class="ruby-keyword kw">else</span>
238 147: <span class="ruby-identifier">set_logger</span>(<span class="ruby-identifier">logger</span>)
239 148: <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">true</span>
240 149: <span class="ruby-keyword kw">end</span>
243 152: <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">start</span>
244 153: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
245 154: <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">false</span>
246 155: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Could not start logger: #{e.class} #{e}"</span>
247 156: <span class="ruby-keyword kw">end</span>
253 <div id="method-M000438" class="method-detail">
254 <a name="M000438"></a>
256 <div class="method-heading">
257 <a href="#M000438" class="method-signature">
258 <span class="method-name">cycle_level</span><span class="method-args">()</span>
262 <div class="method-description">
264 increments the active <a href="Log.html#M000445">log</a> level
266 <p><a class="source-toggle" href="#"
267 onclick="toggleCode('M000438-source');return false;">[Source]</a></p>
268 <div class="method-source-code" id="M000438-source">
270 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 45</span>
271 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cycle_level</span>
272 46: <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">cycle_level</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@configured</span>
273 47: <span class="ruby-keyword kw">end</span>
279 <div id="method-M000434" class="method-detail">
280 <a name="M000434"></a>
282 <div class="method-heading">
283 <a href="#M000434" class="method-signature">
284 <span class="method-name">debug</span><span class="method-args">(msg)</span>
288 <div class="method-description">
290 Logs at <a href="Log.html#M000434">debug</a> level
292 <p><a class="source-toggle" href="#"
293 onclick="toggleCode('M000434-source');return false;">[Source]</a></p>
294 <div class="method-source-code" id="M000434-source">
296 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 25</span>
297 25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">msg</span>)
298 26: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">:debug</span>, <span class="ruby-identifier">msg</span>)
299 27: <span class="ruby-keyword kw">end</span>
305 <div id="method-M000436" class="method-detail">
306 <a name="M000436"></a>
308 <div class="method-heading">
309 <a href="#M000436" class="method-signature">
310 <span class="method-name">error</span><span class="method-args">(msg)</span>
314 <div class="method-description">
316 Logs at <a href="Log.html#M000436">error</a> level
318 <p><a class="source-toggle" href="#"
319 onclick="toggleCode('M000436-source');return false;">[Source]</a></p>
320 <div class="method-source-code" id="M000436-source">
322 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 35</span>
323 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">msg</span>)
324 36: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">:error</span>, <span class="ruby-identifier">msg</span>)
325 37: <span class="ruby-keyword kw">end</span>
331 <div id="method-M000450" class="method-detail">
332 <a name="M000450"></a>
334 <div class="method-heading">
335 <a href="#M000450" class="method-signature">
336 <span class="method-name">execution_stack</span><span class="method-args">()</span>
340 <div class="method-description">
342 this method is here to facilitate testing
344 <p><a class="source-toggle" href="#"
345 onclick="toggleCode('M000450-source');return false;">[Source]</a></p>
346 <div class="method-source-code" id="M000450-source">
348 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 170</span>
349 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execution_stack</span>
350 171: <span class="ruby-identifier">caller</span>
351 172: <span class="ruby-keyword kw">end</span>
357 <div id="method-M000435" class="method-detail">
358 <a name="M000435"></a>
360 <div class="method-heading">
361 <a href="#M000435" class="method-signature">
362 <span class="method-name">fatal</span><span class="method-args">(msg)</span>
366 <div class="method-description">
368 Logs at <a href="Log.html#M000435">fatal</a> level
370 <p><a class="source-toggle" href="#"
371 onclick="toggleCode('M000435-source');return false;">[Source]</a></p>
372 <div class="method-source-code" id="M000435-source">
374 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 30</span>
375 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fatal</span>(<span class="ruby-identifier">msg</span>)
376 31: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">:fatal</span>, <span class="ruby-identifier">msg</span>)
377 32: <span class="ruby-keyword kw">end</span>
383 <div id="method-M000449" class="method-detail">
384 <a name="M000449"></a>
386 <div class="method-heading">
387 <a href="#M000449" class="method-signature">
388 <span class="method-name">from</span><span class="method-args">()</span>
392 <div class="method-description">
394 figures out the filename that called us
396 <p><a class="source-toggle" href="#"
397 onclick="toggleCode('M000449-source');return false;">[Source]</a></p>
398 <div class="method-source-code" id="M000449-source">
400 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 164</span>
401 164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">from</span>
402 165: <span class="ruby-identifier">path</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">method</span> = <span class="ruby-identifier">execution_stack</span>[<span class="ruby-value">3</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/:(\d+)/</span>)
403 166: <span class="ruby-value str">"%s:%s%s"</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>), <span class="ruby-identifier">line</span>, <span class="ruby-identifier">method</span>]
404 167: <span class="ruby-keyword kw">end</span>
410 <div id="method-M000432" class="method-detail">
411 <a name="M000432"></a>
413 <div class="method-heading">
414 <a href="#M000432" class="method-signature">
415 <span class="method-name">info</span><span class="method-args">(msg)</span>
419 <div class="method-description">
421 Logs at <a href="Log.html#M000432">info</a> level
423 <p><a class="source-toggle" href="#"
424 onclick="toggleCode('M000432-source');return false;">[Source]</a></p>
425 <div class="method-source-code" id="M000432-source">
427 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 15</span>
428 15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">msg</span>)
429 16: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">:info</span>, <span class="ruby-identifier">msg</span>)
430 17: <span class="ruby-keyword kw">end</span>
436 <div id="method-M000437" class="method-detail">
437 <a name="M000437"></a>
439 <div class="method-heading">
440 <a href="#M000437" class="method-signature">
441 <span class="method-name">instance</span><span class="method-args">()</span>
445 <div class="method-description">
447 handle old code that relied on this class being a singleton
449 <p><a class="source-toggle" href="#"
450 onclick="toggleCode('M000437-source');return false;">[Source]</a></p>
451 <div class="method-source-code" id="M000437-source">
453 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 40</span>
454 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance</span>
455 41: <span class="ruby-keyword kw">self</span>
456 42: <span class="ruby-keyword kw">end</span>
462 <div id="method-M000445" class="method-detail">
463 <a name="M000445"></a>
465 <div class="method-heading">
466 <a href="#M000445" class="method-signature">
467 <span class="method-name">log</span><span class="method-args">(level, msg, origin=nil)</span>
471 <div class="method-description">
473 logs a message at a certain level
475 <p><a class="source-toggle" href="#"
476 onclick="toggleCode('M000445-source');return false;">[Source]</a></p>
477 <div class="method-source-code" id="M000445-source">
479 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 106</span>
480 106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">origin</span>=<span class="ruby-keyword kw">nil</span>)
481 107: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">config_and_check_level</span>(<span class="ruby-identifier">level</span>)
483 109: <span class="ruby-identifier">origin</span> = <span class="ruby-identifier">from</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">origin</span>
485 111: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logger</span>
486 112: <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">origin</span>, <span class="ruby-identifier">msg</span>)
487 113: <span class="ruby-keyword kw">else</span>
488 114: <span class="ruby-identifier">t</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-value str">"%H:%M:%S"</span>)
490 116: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"#{t}: #{level}: #{origin}: #{msg}"</span>
491 117: <span class="ruby-keyword kw">end</span>
492 118: <span class="ruby-keyword kw">end</span>
498 <div id="method-M000443" class="method-detail">
499 <a name="M000443"></a>
501 <div class="method-heading">
502 <a href="#M000443" class="method-signature">
503 <span class="method-name">logexception</span><span class="method-args">(msgid, level, e, backtrace=false, args={})</span>
507 <div class="method-description">
508 <p><a class="source-toggle" href="#"
509 onclick="toggleCode('M000443-source');return false;">[Source]</a></p>
510 <div class="method-source-code" id="M000443-source">
512 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 67</span>
513 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">logexception</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">level</span>, <span class="ruby-identifier">e</span>, <span class="ruby-identifier">backtrace</span>=<span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">args</span>={})
514 68: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">config_and_check_level</span>(<span class="ruby-identifier">level</span>)
516 70: <span class="ruby-identifier">path</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">method</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/:(\d+)/</span>)
517 71: <span class="ruby-identifier">origin</span> = <span class="ruby-value str">"%s:%s%s"</span> <span class="ruby-operator">%</span> [<span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>), <span class="ruby-identifier">line</span>, <span class="ruby-identifier">method</span>]
519 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">CodedError</span>)
520 74: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">"%s: %s"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">e</span>.<span class="ruby-identifier">code</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_s</span>]
521 75: <span class="ruby-keyword kw">else</span>
522 76: <span class="ruby-identifier">error_string</span> = <span class="ruby-value str">"%s: %s"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">e</span>.<span class="ruby-identifier">class</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_s</span>]
523 77: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">message_for</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">args</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">:error</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">error_string</span>))
524 78: <span class="ruby-keyword kw">end</span>
526 80: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">origin</span>)
528 82: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">backtrace</span>
529 83: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
530 84: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-value str">"%s: %s"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">line</span>], <span class="ruby-identifier">origin</span>)
531 85: <span class="ruby-keyword kw">end</span>
532 86: <span class="ruby-keyword kw">end</span>
533 87: <span class="ruby-keyword kw">end</span>
539 <div id="method-M000431" class="method-detail">
540 <a name="M000431"></a>
542 <div class="method-heading">
543 <a href="#M000431" class="method-signature">
544 <span class="method-name">logger</span><span class="method-args">()</span>
548 <div class="method-description">
550 Obtain the class name of the currently configured <a
551 href="Log.html#M000431">logger</a>
553 <p><a class="source-toggle" href="#"
554 onclick="toggleCode('M000431-source');return false;">[Source]</a></p>
555 <div class="method-source-code" id="M000431-source">
557 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 10</span>
558 10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">logger</span>
559 11: <span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">class</span>
560 12: <span class="ruby-keyword kw">end</span>
566 <div id="method-M000444" class="method-detail">
567 <a name="M000444"></a>
569 <div class="method-heading">
570 <a href="#M000444" class="method-signature">
571 <span class="method-name">logmsg</span><span class="method-args">(msgid, default, level, args={})</span>
575 <div class="method-description">
577 Logs a message at a certain level, the message must be a token that will be
578 looked up <a href="Log.html#M000449">from</a> the i18n localization
582 Messages can interprolate strings <a href="Log.html#M000449">from</a> the
583 args hash, a message with "foo %{bar}" in the localization
584 database will use args[:bar] for the value there, the interprolation is
585 handled by the i18n library itself
587 <p><a class="source-toggle" href="#"
588 onclick="toggleCode('M000444-source');return false;">[Source]</a></p>
589 <div class="method-source-code" id="M000444-source">
591 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 97</span>
592 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">logmsg</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">level</span>, <span class="ruby-identifier">args</span>={})
593 98: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">config_and_check_level</span>(<span class="ruby-identifier">level</span>)
595 100: <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">message_for</span>(<span class="ruby-identifier">msgid</span>, {<span class="ruby-identifier">:default</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">default</span>}.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">args</span>))
597 102: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">msg</span>)
598 103: <span class="ruby-keyword kw">end</span>
604 <div id="method-M000442" class="method-detail">
605 <a name="M000442"></a>
607 <div class="method-heading">
608 <a href="#M000442" class="method-signature">
609 <span class="method-name">message_for</span><span class="method-args">(msgid, args={})</span>
613 <div class="method-description">
614 <p><a class="source-toggle" href="#"
615 onclick="toggleCode('M000442-source');return false;">[Source]</a></p>
616 <div class="method-source-code" id="M000442-source">
618 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 63</span>
619 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message_for</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">args</span>={})
620 64: <span class="ruby-value str">"%s: %s"</span> <span class="ruby-operator">%</span> [<span class="ruby-identifier">msgid</span>, <span class="ruby-constant">Util</span>.<span class="ruby-identifier">t</span>(<span class="ruby-identifier">msgid</span>, <span class="ruby-identifier">args</span>)]
621 65: <span class="ruby-keyword kw">end</span>
627 <div id="method-M000446" class="method-detail">
628 <a name="M000446"></a>
630 <div class="method-heading">
631 <a href="#M000446" class="method-signature">
632 <span class="method-name">set_logger</span><span class="method-args">(logger)</span>
636 <div class="method-description">
638 sets the <a href="Log.html#M000431">logger</a> class to use
640 <p><a class="source-toggle" href="#"
641 onclick="toggleCode('M000446-source');return false;">[Source]</a></p>
642 <div class="method-source-code" id="M000446-source">
644 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 121</span>
645 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_logger</span>(<span class="ruby-identifier">logger</span>)
646 122: <span class="ruby-ivar">@logger</span> = <span class="ruby-identifier">logger</span>
647 123: <span class="ruby-keyword kw">end</span>
653 <div id="method-M000448" class="method-detail">
654 <a name="M000448"></a>
656 <div class="method-heading">
657 <a href="#M000448" class="method-signature">
658 <span class="method-name">unconfigure</span><span class="method-args">()</span>
662 <div class="method-description">
663 <p><a class="source-toggle" href="#"
664 onclick="toggleCode('M000448-source');return false;">[Source]</a></p>
665 <div class="method-source-code" id="M000448-source">
667 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 158</span>
668 158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unconfigure</span>
669 159: <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">false</span>
670 160: <span class="ruby-identifier">set_logger</span>(<span class="ruby-keyword kw">nil</span>)
671 161: <span class="ruby-keyword kw">end</span>
677 <div id="method-M000441" class="method-detail">
678 <a name="M000441"></a>
680 <div class="method-heading">
681 <a href="#M000441" class="method-signature">
682 <span class="method-name">valid_level?</span><span class="method-args">(level)</span>
686 <div class="method-description">
687 <p><a class="source-toggle" href="#"
688 onclick="toggleCode('M000441-source');return false;">[Source]</a></p>
689 <div class="method-source-code" id="M000441-source">
691 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 59</span>
692 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">valid_level?</span>(<span class="ruby-identifier">level</span>)
693 60: <span class="ruby-constant">VALID_LEVELS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">level</span>)
694 61: <span class="ruby-keyword kw">end</span>
700 <div id="method-M000433" class="method-detail">
701 <a name="M000433"></a>
703 <div class="method-heading">
704 <a href="#M000433" class="method-signature">
705 <span class="method-name">warn</span><span class="method-args">(msg)</span>
709 <div class="method-description">
711 Logs at <a href="Log.html#M000433">warn</a> level
713 <p><a class="source-toggle" href="#"
714 onclick="toggleCode('M000433-source');return false;">[Source]</a></p>
715 <div class="method-source-code" id="M000433-source">
717 <span class="ruby-comment cmt"># File lib/mcollective/log.rb, line 20</span>
718 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warn</span>(<span class="ruby-identifier">msg</span>)
719 21: <span class="ruby-identifier">log</span>(<span class="ruby-identifier">:warn</span>, <span class="ruby-identifier">msg</span>)
720 22: <span class="ruby-keyword kw">end</span>
733 <div id="validator-badges">
734 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>