log4r 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -2
- data/Rakefile +3 -3
- data/TODO +0 -34
- data/examples/filelog.rb +25 -0
- data/examples/logs/TestSize000001.log +576 -0
- data/examples/logs/TestSize000002.log +567 -0
- data/examples/logs/TestSize000003.log +552 -0
- data/examples/logs/TestSize000004.log +552 -0
- data/examples/logs/TestSize000005.log +552 -0
- data/examples/logs/TestSize000006.log +552 -0
- data/examples/logs/TestSize000007.log +552 -0
- data/examples/logs/TestSize000008.log +552 -0
- data/examples/logs/TestSize000009.log +552 -0
- data/examples/logs/TestSize000010.log +552 -0
- data/examples/logs/TestSize000011.log +552 -0
- data/examples/logs/TestSize000012.log +552 -0
- data/examples/logs/TestSize000013.log +552 -0
- data/examples/logs/TestSize000014.log +552 -0
- data/examples/logs/TestSize000015.log +552 -0
- data/examples/logs/TestSize000016.log +552 -0
- data/examples/logs/TestSize000017.log +552 -0
- data/examples/logs/TestSize000018.log +552 -0
- data/examples/logs/TestSize000019.log +535 -0
- data/examples/logs/TestSize000020.log +534 -0
- data/examples/logs/TestSize000021.log +534 -0
- data/examples/logs/TestSize000022.log +534 -0
- data/examples/logs/TestSize000023.log +534 -0
- data/examples/logs/TestSize000024.log +534 -0
- data/examples/logs/TestSize000025.log +534 -0
- data/examples/logs/TestSize000026.log +534 -0
- data/examples/logs/TestSize000027.log +534 -0
- data/examples/logs/TestSize000028.log +534 -0
- data/examples/logs/TestSize000029.log +534 -0
- data/examples/logs/TestSize000030.log +534 -0
- data/examples/logs/TestSize000031.log +534 -0
- data/examples/logs/TestSize000032.log +534 -0
- data/examples/logs/TestSize000033.log +534 -0
- data/examples/logs/TestSize000034.log +534 -0
- data/examples/logs/TestSize000035.log +534 -0
- data/examples/logs/TestSize000036.log +534 -0
- data/examples/logs/TestSize000037.log +534 -0
- data/examples/logs/TestSize000038.log +534 -0
- data/examples/logs/TestSize000039.log +534 -0
- data/examples/logs/TestSize000040.log +534 -0
- data/examples/logs/TestSize000041.log +534 -0
- data/examples/logs/TestSize000042.log +534 -0
- data/examples/logs/TestSize000043.log +534 -0
- data/examples/logs/TestSize000044.log +534 -0
- data/examples/logs/TestSize000045.log +534 -0
- data/examples/logs/TestSize000046.log +534 -0
- data/examples/logs/TestSize000047.log +534 -0
- data/examples/logs/TestSize000048.log +534 -0
- data/examples/logs/TestSize000049.log +534 -0
- data/examples/logs/TestSize000050.log +534 -0
- data/examples/logs/TestSize000051.log +534 -0
- data/examples/logs/TestSize000052.log +534 -0
- data/examples/logs/TestSize000053.log +534 -0
- data/examples/logs/TestSize000054.log +534 -0
- data/examples/logs/TestSize000055.log +534 -0
- data/examples/logs/TestSize000056.log +534 -0
- data/examples/logs/TestSize000057.log +534 -0
- data/examples/logs/TestSize000058.log +534 -0
- data/examples/logs/TestSize000059.log +534 -0
- data/examples/logs/TestSize000060.log +534 -0
- data/examples/logs/TestSize000061.log +534 -0
- data/examples/logs/TestSize000062.log +534 -0
- data/examples/logs/TestSize000063.log +534 -0
- data/examples/logs/TestSize000064.log +534 -0
- data/examples/logs/TestSize000065.log +534 -0
- data/examples/logs/TestSize000066.log +534 -0
- data/examples/logs/TestSize000067.log +534 -0
- data/examples/logs/TestSize000068.log +534 -0
- data/examples/logs/TestSize000069.log +534 -0
- data/examples/logs/TestSize000070.log +534 -0
- data/examples/logs/TestSize000071.log +534 -0
- data/examples/logs/TestSize000072.log +534 -0
- data/examples/logs/TestSize000073.log +534 -0
- data/examples/logs/TestSize000074.log +534 -0
- data/examples/logs/TestSize000075.log +534 -0
- data/examples/logs/TestSize000076.log +534 -0
- data/examples/logs/TestSize000077.log +534 -0
- data/examples/logs/TestSize000078.log +534 -0
- data/examples/logs/TestSize000079.log +534 -0
- data/examples/logs/TestSize000080.log +534 -0
- data/examples/logs/TestSize000081.log +534 -0
- data/examples/logs/TestSize000082.log +534 -0
- data/examples/logs/TestSize000083.log +534 -0
- data/examples/logs/TestSize000084.log +534 -0
- data/examples/logs/TestSize000085.log +534 -0
- data/examples/logs/TestSize000086.log +534 -0
- data/examples/logs/TestSize000087.log +534 -0
- data/examples/logs/TestSize000088.log +534 -0
- data/examples/logs/TestSize000089.log +534 -0
- data/examples/logs/TestSize000090.log +534 -0
- data/examples/logs/TestSize000091.log +534 -0
- data/examples/logs/TestSize000092.log +534 -0
- data/examples/logs/TestSize000093.log +534 -0
- data/examples/logs/TestSize000094.log +534 -0
- data/examples/logs/TestSize000095.log +534 -0
- data/examples/logs/TestSize000096.log +534 -0
- data/examples/logs/TestSize000097.log +534 -0
- data/examples/logs/TestSize000098.log +534 -0
- data/examples/logs/TestSize000099.log +534 -0
- data/examples/logs/TestSize000100.log +534 -0
- data/examples/logs/TestSize000101.log +534 -0
- data/examples/logs/TestSize000102.log +534 -0
- data/examples/logs/TestSize000103.log +534 -0
- data/examples/logs/TestSize000104.log +534 -0
- data/examples/logs/TestSize000105.log +534 -0
- data/examples/logs/TestSize000106.log +534 -0
- data/examples/logs/TestSize000107.log +534 -0
- data/examples/logs/TestSize000108.log +534 -0
- data/examples/logs/TestSize000109.log +534 -0
- data/examples/logs/TestSize000110.log +534 -0
- data/examples/logs/TestSize000111.log +534 -0
- data/examples/logs/TestSize000112.log +534 -0
- data/examples/logs/TestSize000113.log +534 -0
- data/examples/logs/TestSize000114.log +534 -0
- data/examples/logs/TestSize000115.log +534 -0
- data/examples/logs/TestSize000116.log +534 -0
- data/examples/logs/TestSize000117.log +534 -0
- data/examples/logs/TestSize000118.log +534 -0
- data/examples/logs/TestSize000119.log +534 -0
- data/examples/logs/TestSize000120.log +534 -0
- data/examples/logs/TestSize000121.log +534 -0
- data/examples/logs/TestSize000122.log +534 -0
- data/examples/logs/TestSize000123.log +534 -0
- data/examples/logs/TestSize000124.log +534 -0
- data/examples/logs/TestSize000125.log +534 -0
- data/examples/logs/TestSize000126.log +534 -0
- data/examples/logs/TestSize000127.log +534 -0
- data/examples/logs/TestSize000128.log +534 -0
- data/examples/logs/TestSize000129.log +534 -0
- data/examples/logs/TestSize000130.log +534 -0
- data/examples/logs/TestSize000131.log +534 -0
- data/examples/logs/TestSize000132.log +534 -0
- data/examples/logs/TestSize000133.log +534 -0
- data/examples/logs/TestSize000134.log +534 -0
- data/examples/logs/TestSize000135.log +534 -0
- data/examples/logs/TestSize000136.log +534 -0
- data/examples/logs/TestSize000137.log +534 -0
- data/examples/logs/TestSize000138.log +534 -0
- data/examples/logs/TestSize000139.log +534 -0
- data/examples/logs/TestSize000140.log +534 -0
- data/examples/logs/TestSize000141.log +534 -0
- data/examples/logs/TestSize000142.log +534 -0
- data/examples/logs/TestSize000143.log +534 -0
- data/examples/logs/TestSize000144.log +534 -0
- data/examples/logs/TestSize000145.log +534 -0
- data/examples/logs/TestSize000146.log +534 -0
- data/examples/logs/TestSize000147.log +534 -0
- data/examples/logs/TestSize000148.log +534 -0
- data/examples/logs/TestSize000149.log +534 -0
- data/examples/logs/TestSize000150.log +534 -0
- data/examples/logs/TestSize000151.log +534 -0
- data/examples/logs/TestSize000152.log +534 -0
- data/examples/logs/TestSize000153.log +534 -0
- data/examples/logs/TestSize000154.log +534 -0
- data/examples/logs/TestSize000155.log +534 -0
- data/examples/logs/TestSize000156.log +534 -0
- data/examples/logs/TestSize000157.log +534 -0
- data/examples/logs/TestSize000158.log +534 -0
- data/examples/logs/TestSize000159.log +534 -0
- data/examples/logs/TestSize000160.log +534 -0
- data/examples/logs/TestSize000161.log +534 -0
- data/examples/logs/TestSize000162.log +534 -0
- data/examples/logs/TestSize000163.log +534 -0
- data/examples/logs/TestSize000164.log +534 -0
- data/examples/logs/TestSize000165.log +534 -0
- data/examples/logs/TestSize000166.log +534 -0
- data/examples/logs/TestSize000167.log +534 -0
- data/examples/logs/TestSize000168.log +534 -0
- data/examples/logs/TestSize000169.log +534 -0
- data/examples/logs/TestSize000170.log +534 -0
- data/examples/logs/TestSize000171.log +534 -0
- data/examples/logs/TestSize000172.log +534 -0
- data/examples/logs/TestSize000173.log +534 -0
- data/examples/logs/TestSize000174.log +534 -0
- data/examples/logs/TestSize000175.log +534 -0
- data/examples/logs/TestSize000176.log +534 -0
- data/examples/logs/TestSize000177.log +534 -0
- data/examples/logs/TestSize000178.log +534 -0
- data/examples/logs/TestSize000179.log +534 -0
- data/examples/logs/TestSize000180.log +534 -0
- data/examples/logs/TestSize000181.log +534 -0
- data/examples/logs/TestSize000182.log +534 -0
- data/examples/logs/TestSize000183.log +534 -0
- data/examples/logs/TestSize000184.log +534 -0
- data/examples/logs/TestSize000185.log +534 -0
- data/examples/logs/TestSize000186.log +534 -0
- data/examples/logs/TestSize000187.log +312 -0
- data/examples/logs/TestTime000001.log +11 -0
- data/examples/logs/TestTime000002.log +10 -0
- data/examples/logs/TestTime000003.log +10 -0
- data/examples/logs/TestTime000004.log +10 -0
- data/examples/logs/TestTime000005.log +10 -0
- data/examples/logs/TestTime000006.log +10 -0
- data/examples/logs/TestTime000007.log +10 -0
- data/examples/logs/TestTime000008.log +10 -0
- data/examples/logs/TestTime000009.log +10 -0
- data/examples/logs/TestTime000010.log +9 -0
- data/src/log4r.rb +5 -2
- data/src/log4r/GDC.rb +40 -0
- data/src/log4r/MDC.rb +59 -0
- data/src/log4r/NDC.rb +87 -0
- data/src/log4r/formatter/patternformatter.rb +11 -6
- data/src/log4r/outputter/bob.patch +25 -0
- data/src/log4r/outputter/emailoutputter.rb.orig +118 -0
- data/src/log4r/outputter/emailoutputter.rb.rej +46 -0
- data/src/log4r/outputter/fileoutputter.rb +12 -5
- data/src/log4r/outputter/rollingfileoutputter.rb +8 -3
- data/src/log4r/outputter/win32eventoutputter.rb +136 -0
- data/src/log4r/rdoc/GDC +14 -0
- data/src/log4r/rdoc/MDC +16 -0
- data/src/log4r/rdoc/NDC +41 -0
- data/src/log4r/rdoc/win32eventoutputter +7 -0
- data/src/log4r/repository.rb +73 -52
- data/src/log4r/yamlconfigurator.rb +0 -0
- data/tests/testGDC.rb +26 -0
- data/tests/testMDC.rb +21 -0
- data/tests/testNDC.rb +27 -0
- data/tests/testthreads.rb +23 -0
- metadata +215 -98
- data/src/doc/Log4r.html +0 -392
- data/src/doc/Log4r/BasicFormatter.html +0 -370
- data/src/doc/Log4r/ConfigError.html +0 -207
- data/src/doc/Log4r/Configurator.html +0 -1050
- data/src/doc/Log4r/DateFileOutputter.html +0 -454
- data/src/doc/Log4r/DefaultFormatter.html +0 -205
- data/src/doc/Log4r/EmailOutputter.html +0 -636
- data/src/doc/Log4r/FileOutputter.html +0 -321
- data/src/doc/Log4r/Formatter.html +0 -291
- data/src/doc/Log4r/IOOutputter.html +0 -392
- data/src/doc/Log4r/Log4rConfig.html +0 -193
- data/src/doc/Log4r/Log4rTools.html +0 -370
- data/src/doc/Log4r/LogEvent.html +0 -360
- data/src/doc/Log4r/LogServer.html +0 -322
- data/src/doc/Log4r/Logger.html +0 -1132
- data/src/doc/Log4r/Logger/LoggerFactory.html +0 -200
- data/src/doc/Log4r/Logger/Repository.html +0 -207
- data/src/doc/Log4r/ObjectFormatter.html +0 -262
- data/src/doc/Log4r/Outputter.html +0 -910
- data/src/doc/Log4r/Outputter/OutputterFactory.html +0 -200
- data/src/doc/Log4r/Outputter/consoleoutputters_rb.html +0 -57
- data/src/doc/Log4r/Outputter/datefileoutputter_rb.html +0 -93
- data/src/doc/Log4r/Outputter/emailoutputter_rb.html +0 -179
- data/src/doc/Log4r/Outputter/fileoutputter_rb.html +0 -64
- data/src/doc/Log4r/Outputter/iooutputter_rb.html +0 -59
- data/src/doc/Log4r/Outputter/outputter_rb.html +0 -222
- data/src/doc/Log4r/Outputter/outputterfactory_rb.html +0 -62
- data/src/doc/Log4r/Outputter/remoteoutputter_rb.html +0 -59
- data/src/doc/Log4r/Outputter/rollingfileoutputter_rb.html +0 -66
- data/src/doc/Log4r/Outputter/staticoutputter_rb.html +0 -55
- data/src/doc/Log4r/Outputter/syslogoutputter_rb.html +0 -110
- data/src/doc/Log4r/Outputter/tst_rb.html +0 -54
- data/src/doc/Log4r/PatternFormatter.html +0 -422
- data/src/doc/Log4r/ROMPClient.html +0 -193
- data/src/doc/Log4r/ROMPServer.html +0 -193
- data/src/doc/Log4r/RemoteOutputter.html +0 -384
- data/src/doc/Log4r/RollingFileOutputter.html +0 -528
- data/src/doc/Log4r/RootLogger.html +0 -512
- data/src/doc/Log4r/SimpleFormatter.html +0 -258
- data/src/doc/Log4r/StderrOutputter.html +0 -250
- data/src/doc/Log4r/StdoutOutputter.html +0 -250
- data/src/doc/Log4r/SyslogOutputter.html +0 -533
- data/src/doc/Log4r/YamlConfigurator.html +0 -948
- data/src/doc/Log4r/base_rb.html +0 -57
- data/src/doc/Log4r/config_rb.html +0 -76
- data/src/doc/Log4r/configurator_rb.html +0 -370
- data/src/doc/Log4r/formatter/formatter_rb.html +0 -121
- data/src/doc/Log4r/formatter/patternformatter_rb.html +0 -233
- data/src/doc/Log4r/lib/drbloader_rb.html +0 -57
- data/src/doc/Log4r/lib/xmlloader_rb.html +0 -57
- data/src/doc/Log4r/logevent_rb.html +0 -55
- data/src/doc/Log4r/logger_rb.html +0 -293
- data/src/doc/Log4r/loggerfactory_rb.html +0 -66
- data/src/doc/Log4r/logserver_rb.html +0 -161
- data/src/doc/Log4r/rdoc/configurator.html +0 -444
- data/src/doc/Log4r/rdoc/emailoutputter.html +0 -261
- data/src/doc/Log4r/rdoc/formatter.html +0 -200
- data/src/doc/Log4r/rdoc/log4r.html +0 -268
- data/src/doc/Log4r/rdoc/logger.html +0 -364
- data/src/doc/Log4r/rdoc/logserver.html +0 -247
- data/src/doc/Log4r/rdoc/outputter.html +0 -295
- data/src/doc/Log4r/rdoc/patternformatter.html +0 -313
- data/src/doc/Log4r/rdoc/syslogoutputter.html +0 -179
- data/src/doc/Log4r/rdoc/yamlconfigurator.html +0 -169
- data/src/doc/Log4r/repository_rb.html +0 -62
- data/src/doc/Log4r/staticlogger_rb.html +0 -55
- data/src/doc/Log4r/yamlconfigurator_rb.html +0 -95
- data/src/doc/REXML.html +0 -193
- data/src/doc/created.rid +0 -1
- data/src/doc/images/brick.png +0 -0
- data/src/doc/images/brick_link.png +0 -0
- data/src/doc/images/bug.png +0 -0
- data/src/doc/images/bullet_black.png +0 -0
- data/src/doc/images/bullet_toggle_minus.png +0 -0
- data/src/doc/images/bullet_toggle_plus.png +0 -0
- data/src/doc/images/date.png +0 -0
- data/src/doc/images/find.png +0 -0
- data/src/doc/images/loadingAnimation.gif +0 -0
- data/src/doc/images/macFFBgHack.png +0 -0
- data/src/doc/images/package.png +0 -0
- data/src/doc/images/page_green.png +0 -0
- data/src/doc/images/page_white_text.png +0 -0
- data/src/doc/images/page_white_width.png +0 -0
- data/src/doc/images/plugin.png +0 -0
- data/src/doc/images/ruby.png +0 -0
- data/src/doc/images/tag_green.png +0 -0
- data/src/doc/images/wrench.png +0 -0
- data/src/doc/images/wrench_orange.png +0 -0
- data/src/doc/images/zoom.png +0 -0
- data/src/doc/index.html +0 -384
- data/src/doc/js/darkfish.js +0 -116
- data/src/doc/js/jquery.js +0 -32
- data/src/doc/js/quicksearch.js +0 -114
- data/src/doc/js/thickbox-compressed.js +0 -10
- data/src/doc/rdoc.css +0 -696
- data/src/log4r/outputter/tst.rb +0 -8
@@ -1,55 +0,0 @@
|
|
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: logevent.rb [1.1.2 Log4r API Documentation]</title>
|
10
|
-
|
11
|
-
<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet" />
|
12
|
-
|
13
|
-
<script src="../js/jquery.js" type="text/javascript"
|
14
|
-
charset="utf-8"></script>
|
15
|
-
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
16
|
-
charset="utf-8"></script>
|
17
|
-
<script src="../js/quicksearch.js" type="text/javascript"
|
18
|
-
charset="utf-8"></script>
|
19
|
-
<script src="../js/darkfish.js" type="text/javascript"
|
20
|
-
charset="utf-8"></script>
|
21
|
-
</head>
|
22
|
-
|
23
|
-
<body class="file file-popup">
|
24
|
-
<div id="metadata">
|
25
|
-
<dl>
|
26
|
-
<dt class="modified-date">Last Modified</dt>
|
27
|
-
<dd class="modified-date">Thu Mar 18 19:31:06 -0800 2004</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
|
-
<p>
|
47
|
-
:nodoc:
|
48
|
-
</p>
|
49
|
-
|
50
|
-
</div>
|
51
|
-
|
52
|
-
</div>
|
53
|
-
</body>
|
54
|
-
</html>
|
55
|
-
|
@@ -1,293 +0,0 @@
|
|
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: logger.rb [1.1.2 Log4r API Documentation]</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">Wed Sep 23 21:58:28 -0700 2009</dd>
|
28
|
-
|
29
|
-
|
30
|
-
<dt class="requires">Requires</dt>
|
31
|
-
<dd class="requires">
|
32
|
-
<ul>
|
33
|
-
|
34
|
-
<li>log4r/outputter/outputter</li>
|
35
|
-
|
36
|
-
<li>log4r/repository</li>
|
37
|
-
|
38
|
-
<li>log4r/loggerfactory</li>
|
39
|
-
|
40
|
-
<li>log4r/staticlogger</li>
|
41
|
-
|
42
|
-
</ul>
|
43
|
-
</dd>
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
</dl>
|
48
|
-
</div>
|
49
|
-
|
50
|
-
<div id="documentation">
|
51
|
-
|
52
|
-
<div class="description">
|
53
|
-
<h2>Description</h2>
|
54
|
-
<h1>Loggers</h1>
|
55
|
-
<p>
|
56
|
-
Loggers provide the interface for logging in <a
|
57
|
-
href="../Log4r.html">Log4r</a>. To create a logger, first come up with a
|
58
|
-
name for it. Good choices include the name of the class using it, a service
|
59
|
-
name, or the name of the file.
|
60
|
-
</p>
|
61
|
-
<p>
|
62
|
-
To create a logger named ‘mylog’:
|
63
|
-
</p>
|
64
|
-
<pre>
|
65
|
-
Logger.new('mylog')
|
66
|
-
</pre>
|
67
|
-
<p>
|
68
|
-
After creating a logger, it is stashed in a repository. The logger may be
|
69
|
-
retrieved at any time:
|
70
|
-
</p>
|
71
|
-
<pre>
|
72
|
-
Logger['mylog'] # get mylog back
|
73
|
-
</pre>
|
74
|
-
<p>
|
75
|
-
It will return nil if the logger is not found. Alternatively, if an
|
76
|
-
Exception is desired when a nonexistant logger is referenced, the
|
77
|
-
Logger#get command can be used:
|
78
|
-
</p>
|
79
|
-
<pre>
|
80
|
-
Logger.get('boguslog') # raises NameError if it doesn't exist
|
81
|
-
</pre>
|
82
|
-
<h2>Manipulating a Logger’s Outputters</h2>
|
83
|
-
<p>
|
84
|
-
Loggers start out with no outputters. They can be added using the
|
85
|
-
Logger#add method or set directly by modifying the Loggers#outputters
|
86
|
-
array:
|
87
|
-
</p>
|
88
|
-
<pre>
|
89
|
-
mylog = Logger['mylog']
|
90
|
-
|
91
|
-
# assume we've created Outputters out1 through out4
|
92
|
-
mylog.outputters = out1, out2
|
93
|
-
mylog.add(out3, out4)
|
94
|
-
mylog.each_outputter {|o| o.flush}
|
95
|
-
|
96
|
-
# assume out5 through out7 have names 'out5' through 'out7' resp.
|
97
|
-
mylog.outputters = 'out5', 'out6'
|
98
|
-
mylog.add('out7')
|
99
|
-
mylog.remove('out5','out7')
|
100
|
-
</pre>
|
101
|
-
<p>
|
102
|
-
Please see <a
|
103
|
-
href="outputter/outputter_rb.html">log4r/outputter/outputter.rb</a> and <a
|
104
|
-
href="../Log4r/Outputter.html">Log4r::Outputter</a> for more about
|
105
|
-
outputters.
|
106
|
-
</p>
|
107
|
-
<h2>Logging Methods</h2>
|
108
|
-
<p>
|
109
|
-
To log something at a certain priority, use the logging method named after
|
110
|
-
the lowercased priority level name:
|
111
|
-
</p>
|
112
|
-
<pre>
|
113
|
-
mylog.warn "This is a message with priority WARN"
|
114
|
-
mylog.fatal "A FATAL message"
|
115
|
-
</pre>
|
116
|
-
<p>
|
117
|
-
Blocks can also be logged:
|
118
|
-
</p>
|
119
|
-
<pre>
|
120
|
-
mylog.warn {"This is also a message with priority WARN"}
|
121
|
-
mylog.debug do
|
122
|
-
# some complicated string magic
|
123
|
-
return result
|
124
|
-
end
|
125
|
-
</pre>
|
126
|
-
<p>
|
127
|
-
The primary difference is that the block doesn’t get called unless
|
128
|
-
the Logger can log at that level. It is useful for doing computationaly
|
129
|
-
expensive things at a log event.
|
130
|
-
</p>
|
131
|
-
<h2>Query Methods</h2>
|
132
|
-
<p>
|
133
|
-
To ask <a href="../Log4r.html">Log4r</a> whether it is capable of logging a
|
134
|
-
certain level:
|
135
|
-
</p>
|
136
|
-
<pre>
|
137
|
-
mylog.warn? # are we logging WARN?
|
138
|
-
mylog.fatal? # how about FATAL?
|
139
|
-
</pre>
|
140
|
-
<p>
|
141
|
-
Query methods and blocks accomplish the same thing:
|
142
|
-
</p>
|
143
|
-
<pre>
|
144
|
-
mylog.warn "don't evaluate unless WARN is on" if mylog.warn?
|
145
|
-
mylog.warn {"don't evaluate unless WARN is on"}
|
146
|
-
</pre>
|
147
|
-
<h2>What About the Special Levels?</h2>
|
148
|
-
<p>
|
149
|
-
<tt>ALL</tt> and <tt>OFF</tt> can be querried, but not logged:
|
150
|
-
</p>
|
151
|
-
<pre>
|
152
|
-
log.off? # true iff level is OFF
|
153
|
-
log.all? # true iff level is ALL
|
154
|
-
log.all "Try to log" => Method not defined. (NameError)
|
155
|
-
</pre>
|
156
|
-
<h2>Custom Levels and Method Names</h2>
|
157
|
-
<p>
|
158
|
-
Suppose we’ve set up <a href="../Log4r.html">Log4r</a> with the
|
159
|
-
custom levels:
|
160
|
-
</p>
|
161
|
-
<pre>
|
162
|
-
Foo < Bar < Baz
|
163
|
-
</pre>
|
164
|
-
<p>
|
165
|
-
As one might expect, the logging methods are named after them:
|
166
|
-
</p>
|
167
|
-
<pre>
|
168
|
-
log.bar "something" # log at custom level Bar
|
169
|
-
log.bar? # are we logging at level Bar?
|
170
|
-
</pre>
|
171
|
-
<h1>Logger Inheritance</h1>
|
172
|
-
<p>
|
173
|
-
Normally, when a logger is created, its parent is set to RootLogger. If a
|
174
|
-
Logger’s level isn’t specified at creation, it will inherit the
|
175
|
-
level of its parent.
|
176
|
-
</p>
|
177
|
-
<p>
|
178
|
-
To specify an ancestors of a logger besides RootLogger, include the names
|
179
|
-
of the ancestors in order of ancestry and delimited by
|
180
|
-
Log4r::Log4rConfig::LoggerPathDelimiter. For example, if the delimiter is
|
181
|
-
the default <tt>::</tt>, our logger is ‘me’ and its ancestors
|
182
|
-
are ‘cain’, ‘grandpa’, and ‘pa’, we
|
183
|
-
create the logger like so:
|
184
|
-
</p>
|
185
|
-
<pre>
|
186
|
-
Logger.new('cain::grandpa::pa::me')
|
187
|
-
</pre>
|
188
|
-
<p>
|
189
|
-
This string is split into three compontents which can be used by a
|
190
|
-
Formatter to avoid parsing the name:
|
191
|
-
</p>
|
192
|
-
<table>
|
193
|
-
<tr><td valign="top">Logger#fullname:</td><td>The whole enchilada: ‘cain::grandpa::pa::me’
|
194
|
-
|
195
|
-
</td></tr>
|
196
|
-
<tr><td valign="top">Logger#name:</td><td>Just ‘me’
|
197
|
-
|
198
|
-
</td></tr>
|
199
|
-
</table>
|
200
|
-
<p>
|
201
|
-
To get this logger back from the repository,
|
202
|
-
</p>
|
203
|
-
<pre>
|
204
|
-
Logger['cain::grandpa::pa::me']
|
205
|
-
</pre>
|
206
|
-
<h1>Outputter Additivity</h1>
|
207
|
-
<p>
|
208
|
-
By default, Logger Outputters are <b>additive</b>. This means that a log
|
209
|
-
event will also be sent to all of a logger’s ancestors. To stop this
|
210
|
-
behavior, set a logger’s <tt>additive</tt> to false.
|
211
|
-
</p>
|
212
|
-
<pre>
|
213
|
-
Logger['foo'].additive = false
|
214
|
-
</pre>
|
215
|
-
<p>
|
216
|
-
A Logger’s level, additivity and trace can be changed dynamically,
|
217
|
-
but this is an expensive operation as the logging methods have to be
|
218
|
-
redefined.
|
219
|
-
</p>
|
220
|
-
<h1>RootLogger</h1>
|
221
|
-
<p>
|
222
|
-
<a href="../Log4r/RootLogger.html">Log4r::RootLogger</a> is the ancestor of
|
223
|
-
all loggers. Its level defines the global logging threshold. Any loggers
|
224
|
-
created <b>after</b> RootLogger’s level is set will not log below
|
225
|
-
that level. By default, RootLogger’s level is set to <tt>ALL</tt>
|
226
|
-
</p>
|
227
|
-
<p>
|
228
|
-
RootLogger is a singleton which gets created automaticallay. It can be
|
229
|
-
retrieved at any time with Logger.root, Logger.global,
|
230
|
-
Logger[‘root’] or Logger[‘global’].
|
231
|
-
</p>
|
232
|
-
<h2>Global Level</h2>
|
233
|
-
<p>
|
234
|
-
Suppose we want <em>everything</em> to ignore events less than FATAL. We
|
235
|
-
can accomplish this easily:
|
236
|
-
</p>
|
237
|
-
<pre>
|
238
|
-
Logger.global.level = FATAL
|
239
|
-
</pre>
|
240
|
-
<p>
|
241
|
-
Just be sure to set this before any other Loggers or Outputters are
|
242
|
-
defined.
|
243
|
-
</p>
|
244
|
-
<h2>RootLogger Does Nothing</h2>
|
245
|
-
<p>
|
246
|
-
RootLogger itself behaves as if its level were permanently set to
|
247
|
-
<tt>OFF</tt>, thus making it a sort of null object.
|
248
|
-
</p>
|
249
|
-
<h1>XML Configuration</h1>
|
250
|
-
<p>
|
251
|
-
Please see <a href="configurator_rb.html">log4r/configurator.rb</a> for an
|
252
|
-
overview of XML configuratoin.
|
253
|
-
</p>
|
254
|
-
<p>
|
255
|
-
It’s easy to configure a Logger in XML. The following example should
|
256
|
-
be sufficient:
|
257
|
-
</p>
|
258
|
-
<pre>
|
259
|
-
...
|
260
|
-
<logger name="papa::mylog" level="DEBUG" trace="true">
|
261
|
-
<additive>false</additive>
|
262
|
-
<outputter>stdout</outputter>
|
263
|
-
<outputters>stderr, dancer, doner, blitzen</outputters>
|
264
|
-
</logger>
|
265
|
-
<logger name="papa" outputters="stderr, stdout"/>
|
266
|
-
...
|
267
|
-
</pre>
|
268
|
-
<p>
|
269
|
-
The element <tt>outputter</tt> can occur multiple times, but cannot be an
|
270
|
-
attribute of <tt>logger</tt>. That is, it is not an <em>XML directive</em>.
|
271
|
-
However, the element <tt>outputters</tt> is an <em>XML directive</em>, as
|
272
|
-
are all the others.
|
273
|
-
</p>
|
274
|
-
<p>
|
275
|
-
For more examples, check the <tt>examples</tt> directory in the <a
|
276
|
-
href="../Log4r.html">Log4r</a> package.
|
277
|
-
</p>
|
278
|
-
<h2>Other Info</h2>
|
279
|
-
<table>
|
280
|
-
<tr><td valign="top">Version:</td><td>$Id: logger.rb,v 1.2 2009/09/24 04:58:28 colbygk Exp $
|
281
|
-
|
282
|
-
</td></tr>
|
283
|
-
<tr><td valign="top">Author:</td><td>Leon Torres <leon(at)ugcs.caltech.edu>
|
284
|
-
|
285
|
-
</td></tr>
|
286
|
-
</table>
|
287
|
-
|
288
|
-
</div>
|
289
|
-
|
290
|
-
</div>
|
291
|
-
</body>
|
292
|
-
</html>
|
293
|
-
|
@@ -1,66 +0,0 @@
|
|
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: loggerfactory.rb [1.1.2 Log4r API Documentation]</title>
|
10
|
-
|
11
|
-
<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet" />
|
12
|
-
|
13
|
-
<script src="../js/jquery.js" type="text/javascript"
|
14
|
-
charset="utf-8"></script>
|
15
|
-
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
16
|
-
charset="utf-8"></script>
|
17
|
-
<script src="../js/quicksearch.js" type="text/javascript"
|
18
|
-
charset="utf-8"></script>
|
19
|
-
<script src="../js/darkfish.js" type="text/javascript"
|
20
|
-
charset="utf-8"></script>
|
21
|
-
</head>
|
22
|
-
|
23
|
-
<body class="file file-popup">
|
24
|
-
<div id="metadata">
|
25
|
-
<dl>
|
26
|
-
<dt class="modified-date">Last Modified</dt>
|
27
|
-
<dd class="modified-date">Thu Mar 18 19:31:07 -0800 2004</dd>
|
28
|
-
|
29
|
-
|
30
|
-
<dt class="requires">Requires</dt>
|
31
|
-
<dd class="requires">
|
32
|
-
<ul>
|
33
|
-
|
34
|
-
<li>log4r/base</li>
|
35
|
-
|
36
|
-
<li>log4r/repository</li>
|
37
|
-
|
38
|
-
<li>log4r/logevent</li>
|
39
|
-
|
40
|
-
</ul>
|
41
|
-
</dd>
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
</dl>
|
46
|
-
</div>
|
47
|
-
|
48
|
-
<div id="documentation">
|
49
|
-
|
50
|
-
<div class="description">
|
51
|
-
<h2>Description</h2>
|
52
|
-
<p>
|
53
|
-
:nodoc:
|
54
|
-
</p>
|
55
|
-
<table>
|
56
|
-
<tr><td valign="top">Version:</td><td>$Id: loggerfactory.rb,v 1.1.1.1 2004/03/19 03:31:07 fando Exp $
|
57
|
-
|
58
|
-
</td></tr>
|
59
|
-
</table>
|
60
|
-
|
61
|
-
</div>
|
62
|
-
|
63
|
-
</div>
|
64
|
-
</body>
|
65
|
-
</html>
|
66
|
-
|
@@ -1,161 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
-
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
6
|
-
<head>
|
7
|
-
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
8
|
-
|
9
|
-
<title>File: logserver.rb [1.1.2 Log4r API Documentation]</title>
|
10
|
-
|
11
|
-
<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet" />
|
12
|
-
|
13
|
-
<script src="../js/jquery.js" type="text/javascript"
|
14
|
-
charset="utf-8"></script>
|
15
|
-
<script src="../js/thickbox-compressed.js" type="text/javascript"
|
16
|
-
charset="utf-8"></script>
|
17
|
-
<script src="../js/quicksearch.js" type="text/javascript"
|
18
|
-
charset="utf-8"></script>
|
19
|
-
<script src="../js/darkfish.js" type="text/javascript"
|
20
|
-
charset="utf-8"></script>
|
21
|
-
</head>
|
22
|
-
|
23
|
-
<body class="file file-popup">
|
24
|
-
<div id="metadata">
|
25
|
-
<dl>
|
26
|
-
<dt class="modified-date">Last Modified</dt>
|
27
|
-
<dd class="modified-date">Thu Mar 18 19:31:07 -0800 2004</dd>
|
28
|
-
|
29
|
-
|
30
|
-
<dt class="requires">Requires</dt>
|
31
|
-
<dd class="requires">
|
32
|
-
<ul>
|
33
|
-
|
34
|
-
<li>log4r/logger</li>
|
35
|
-
|
36
|
-
<li>log4r/lib/drbloader</li>
|
37
|
-
|
38
|
-
</ul>
|
39
|
-
</dd>
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
</dl>
|
44
|
-
</div>
|
45
|
-
|
46
|
-
<div id="documentation">
|
47
|
-
|
48
|
-
<div class="description">
|
49
|
-
<h2>Description</h2>
|
50
|
-
<h1>Remote Logging</h1>
|
51
|
-
<p>
|
52
|
-
Want to use <a href="../Log4r.html">Log4r</a> over a network? No problem! A
|
53
|
-
<a href="../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a> will
|
54
|
-
send its LogEvents to a <a
|
55
|
-
href="../Log4r/LogServer.html">Log4r::LogServer</a>. These two classes are
|
56
|
-
as easy to set up and use as the rest of <a href="../Log4r.html">Log4r</a>.
|
57
|
-
</p>
|
58
|
-
<h2>Use ROMP</h2>
|
59
|
-
<p>
|
60
|
-
There is one catch though: ROMP is required to use this service. It is a
|
61
|
-
DRb-like system with superb performance and better features. Get ROMP at <a
|
62
|
-
href="http://rubystuff.org/romp/">rubystuff.org/romp/</a>
|
63
|
-
</p>
|
64
|
-
<h2>LogServer</h2>
|
65
|
-
<p>
|
66
|
-
LogServer is simply a kind of Logger which embeds a ROMP::Server. Like a
|
67
|
-
normal Logger, you can give it Outputters, set its level and so on. Its
|
68
|
-
logging methods are accessible over a network and are called by a
|
69
|
-
RemoteOutputter on another host.
|
70
|
-
</p>
|
71
|
-
<h3>LogServer Setup</h3>
|
72
|
-
<p>
|
73
|
-
Setup is easy. First,
|
74
|
-
</p>
|
75
|
-
<pre>
|
76
|
-
require 'log4r/logserver'
|
77
|
-
</pre>
|
78
|
-
<p>
|
79
|
-
The following sets up a LogServer named ‘central’ on localhost
|
80
|
-
port 9999:
|
81
|
-
</p>
|
82
|
-
<pre>
|
83
|
-
LogServer.new('central', 'tcpromp://localhost:9999')
|
84
|
-
</pre>
|
85
|
-
<p>
|
86
|
-
We manipulate it and give it outputters as normal:
|
87
|
-
</p>
|
88
|
-
<pre>
|
89
|
-
serv = Logger['central'] # grab our new LogServer
|
90
|
-
serv.add 'stdout' # make it log to $stdout
|
91
|
-
</pre>
|
92
|
-
<h2>RemoteOutputter</h2>
|
93
|
-
<p>
|
94
|
-
RemoteOutputter is simply a kind of Outputter that embeds a ROMP::Client.
|
95
|
-
When RemoteOutputter gets a LogEvent, it will forward it to whatever
|
96
|
-
LogServer it’s connected to. In essence, RemoteOutputter behaves like
|
97
|
-
a Logger that is forwarding a LogEvent to another Logger (as is done in
|
98
|
-
hierarchical logging).
|
99
|
-
</p>
|
100
|
-
<h3>RemoteOutputter Setup</h3>
|
101
|
-
<p>
|
102
|
-
First,
|
103
|
-
</p>
|
104
|
-
<pre>
|
105
|
-
require 'log4r/outputter/remoteoutputter'
|
106
|
-
</pre>
|
107
|
-
<p>
|
108
|
-
Unlike typical outputters, RemoteOutputter doesn’t do any formatting.
|
109
|
-
That’s up to the LogServer’s outputters. Otherwise,
|
110
|
-
RemoteOutputter can be set up as usual. The ROMP uri of the LogServer must
|
111
|
-
be specified.
|
112
|
-
</p>
|
113
|
-
<pre>
|
114
|
-
RemoteOutputter.new 'client', :uri=>'tcpromp://localhost:9999'
|
115
|
-
</pre>
|
116
|
-
<h3>Using RemoteOutputter</h3>
|
117
|
-
<p>
|
118
|
-
Give our new RemoteOutputter to a logger:
|
119
|
-
</p>
|
120
|
-
<pre>
|
121
|
-
mylog = Logger['mylog']
|
122
|
-
mylog.add 'client'
|
123
|
-
</pre>
|
124
|
-
<p>
|
125
|
-
Now, whenever mylog generates a LogEvent, LogServer should get a copy.
|
126
|
-
Doing the following:
|
127
|
-
</p>
|
128
|
-
<pre>
|
129
|
-
mylog.info "This is a message from 'mylog'"
|
130
|
-
</pre>
|
131
|
-
<p>
|
132
|
-
Produces this output on LogServer’s console:
|
133
|
-
</p>
|
134
|
-
<pre>
|
135
|
-
INFO mylog: This is a message from 'mylog'
|
136
|
-
</pre>
|
137
|
-
<h2>XML Configuration</h2>
|
138
|
-
<p>
|
139
|
-
RemoteOutputter is set up like normal Outputters. LogServer is set up like
|
140
|
-
a normal Logger, but with an element name of logserver instead of logger:
|
141
|
-
</p>
|
142
|
-
<pre>
|
143
|
-
<log4r_config>
|
144
|
-
<logserver name="name" uri="tcpromp://localhost:9999">
|
145
|
-
...
|
146
|
-
</pre>
|
147
|
-
<h2>Debugging</h2>
|
148
|
-
<p>
|
149
|
-
It is recommended to set up a logger named ‘log4r’ on both the
|
150
|
-
server and client to see what LogServer and RemoteOutputter are up to. Both
|
151
|
-
of the classes use Log4r’s internal logging to report any problems.
|
152
|
-
See the section <b>What’s Going on Inside?</b> in log4r.rb for more
|
153
|
-
info.
|
154
|
-
</p>
|
155
|
-
|
156
|
-
</div>
|
157
|
-
|
158
|
-
</div>
|
159
|
-
</body>
|
160
|
-
</html>
|
161
|
-
|