log4r 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (319) hide show
  1. data/README +2 -2
  2. data/Rakefile +3 -3
  3. data/TODO +0 -34
  4. data/examples/filelog.rb +25 -0
  5. data/examples/logs/TestSize000001.log +576 -0
  6. data/examples/logs/TestSize000002.log +567 -0
  7. data/examples/logs/TestSize000003.log +552 -0
  8. data/examples/logs/TestSize000004.log +552 -0
  9. data/examples/logs/TestSize000005.log +552 -0
  10. data/examples/logs/TestSize000006.log +552 -0
  11. data/examples/logs/TestSize000007.log +552 -0
  12. data/examples/logs/TestSize000008.log +552 -0
  13. data/examples/logs/TestSize000009.log +552 -0
  14. data/examples/logs/TestSize000010.log +552 -0
  15. data/examples/logs/TestSize000011.log +552 -0
  16. data/examples/logs/TestSize000012.log +552 -0
  17. data/examples/logs/TestSize000013.log +552 -0
  18. data/examples/logs/TestSize000014.log +552 -0
  19. data/examples/logs/TestSize000015.log +552 -0
  20. data/examples/logs/TestSize000016.log +552 -0
  21. data/examples/logs/TestSize000017.log +552 -0
  22. data/examples/logs/TestSize000018.log +552 -0
  23. data/examples/logs/TestSize000019.log +535 -0
  24. data/examples/logs/TestSize000020.log +534 -0
  25. data/examples/logs/TestSize000021.log +534 -0
  26. data/examples/logs/TestSize000022.log +534 -0
  27. data/examples/logs/TestSize000023.log +534 -0
  28. data/examples/logs/TestSize000024.log +534 -0
  29. data/examples/logs/TestSize000025.log +534 -0
  30. data/examples/logs/TestSize000026.log +534 -0
  31. data/examples/logs/TestSize000027.log +534 -0
  32. data/examples/logs/TestSize000028.log +534 -0
  33. data/examples/logs/TestSize000029.log +534 -0
  34. data/examples/logs/TestSize000030.log +534 -0
  35. data/examples/logs/TestSize000031.log +534 -0
  36. data/examples/logs/TestSize000032.log +534 -0
  37. data/examples/logs/TestSize000033.log +534 -0
  38. data/examples/logs/TestSize000034.log +534 -0
  39. data/examples/logs/TestSize000035.log +534 -0
  40. data/examples/logs/TestSize000036.log +534 -0
  41. data/examples/logs/TestSize000037.log +534 -0
  42. data/examples/logs/TestSize000038.log +534 -0
  43. data/examples/logs/TestSize000039.log +534 -0
  44. data/examples/logs/TestSize000040.log +534 -0
  45. data/examples/logs/TestSize000041.log +534 -0
  46. data/examples/logs/TestSize000042.log +534 -0
  47. data/examples/logs/TestSize000043.log +534 -0
  48. data/examples/logs/TestSize000044.log +534 -0
  49. data/examples/logs/TestSize000045.log +534 -0
  50. data/examples/logs/TestSize000046.log +534 -0
  51. data/examples/logs/TestSize000047.log +534 -0
  52. data/examples/logs/TestSize000048.log +534 -0
  53. data/examples/logs/TestSize000049.log +534 -0
  54. data/examples/logs/TestSize000050.log +534 -0
  55. data/examples/logs/TestSize000051.log +534 -0
  56. data/examples/logs/TestSize000052.log +534 -0
  57. data/examples/logs/TestSize000053.log +534 -0
  58. data/examples/logs/TestSize000054.log +534 -0
  59. data/examples/logs/TestSize000055.log +534 -0
  60. data/examples/logs/TestSize000056.log +534 -0
  61. data/examples/logs/TestSize000057.log +534 -0
  62. data/examples/logs/TestSize000058.log +534 -0
  63. data/examples/logs/TestSize000059.log +534 -0
  64. data/examples/logs/TestSize000060.log +534 -0
  65. data/examples/logs/TestSize000061.log +534 -0
  66. data/examples/logs/TestSize000062.log +534 -0
  67. data/examples/logs/TestSize000063.log +534 -0
  68. data/examples/logs/TestSize000064.log +534 -0
  69. data/examples/logs/TestSize000065.log +534 -0
  70. data/examples/logs/TestSize000066.log +534 -0
  71. data/examples/logs/TestSize000067.log +534 -0
  72. data/examples/logs/TestSize000068.log +534 -0
  73. data/examples/logs/TestSize000069.log +534 -0
  74. data/examples/logs/TestSize000070.log +534 -0
  75. data/examples/logs/TestSize000071.log +534 -0
  76. data/examples/logs/TestSize000072.log +534 -0
  77. data/examples/logs/TestSize000073.log +534 -0
  78. data/examples/logs/TestSize000074.log +534 -0
  79. data/examples/logs/TestSize000075.log +534 -0
  80. data/examples/logs/TestSize000076.log +534 -0
  81. data/examples/logs/TestSize000077.log +534 -0
  82. data/examples/logs/TestSize000078.log +534 -0
  83. data/examples/logs/TestSize000079.log +534 -0
  84. data/examples/logs/TestSize000080.log +534 -0
  85. data/examples/logs/TestSize000081.log +534 -0
  86. data/examples/logs/TestSize000082.log +534 -0
  87. data/examples/logs/TestSize000083.log +534 -0
  88. data/examples/logs/TestSize000084.log +534 -0
  89. data/examples/logs/TestSize000085.log +534 -0
  90. data/examples/logs/TestSize000086.log +534 -0
  91. data/examples/logs/TestSize000087.log +534 -0
  92. data/examples/logs/TestSize000088.log +534 -0
  93. data/examples/logs/TestSize000089.log +534 -0
  94. data/examples/logs/TestSize000090.log +534 -0
  95. data/examples/logs/TestSize000091.log +534 -0
  96. data/examples/logs/TestSize000092.log +534 -0
  97. data/examples/logs/TestSize000093.log +534 -0
  98. data/examples/logs/TestSize000094.log +534 -0
  99. data/examples/logs/TestSize000095.log +534 -0
  100. data/examples/logs/TestSize000096.log +534 -0
  101. data/examples/logs/TestSize000097.log +534 -0
  102. data/examples/logs/TestSize000098.log +534 -0
  103. data/examples/logs/TestSize000099.log +534 -0
  104. data/examples/logs/TestSize000100.log +534 -0
  105. data/examples/logs/TestSize000101.log +534 -0
  106. data/examples/logs/TestSize000102.log +534 -0
  107. data/examples/logs/TestSize000103.log +534 -0
  108. data/examples/logs/TestSize000104.log +534 -0
  109. data/examples/logs/TestSize000105.log +534 -0
  110. data/examples/logs/TestSize000106.log +534 -0
  111. data/examples/logs/TestSize000107.log +534 -0
  112. data/examples/logs/TestSize000108.log +534 -0
  113. data/examples/logs/TestSize000109.log +534 -0
  114. data/examples/logs/TestSize000110.log +534 -0
  115. data/examples/logs/TestSize000111.log +534 -0
  116. data/examples/logs/TestSize000112.log +534 -0
  117. data/examples/logs/TestSize000113.log +534 -0
  118. data/examples/logs/TestSize000114.log +534 -0
  119. data/examples/logs/TestSize000115.log +534 -0
  120. data/examples/logs/TestSize000116.log +534 -0
  121. data/examples/logs/TestSize000117.log +534 -0
  122. data/examples/logs/TestSize000118.log +534 -0
  123. data/examples/logs/TestSize000119.log +534 -0
  124. data/examples/logs/TestSize000120.log +534 -0
  125. data/examples/logs/TestSize000121.log +534 -0
  126. data/examples/logs/TestSize000122.log +534 -0
  127. data/examples/logs/TestSize000123.log +534 -0
  128. data/examples/logs/TestSize000124.log +534 -0
  129. data/examples/logs/TestSize000125.log +534 -0
  130. data/examples/logs/TestSize000126.log +534 -0
  131. data/examples/logs/TestSize000127.log +534 -0
  132. data/examples/logs/TestSize000128.log +534 -0
  133. data/examples/logs/TestSize000129.log +534 -0
  134. data/examples/logs/TestSize000130.log +534 -0
  135. data/examples/logs/TestSize000131.log +534 -0
  136. data/examples/logs/TestSize000132.log +534 -0
  137. data/examples/logs/TestSize000133.log +534 -0
  138. data/examples/logs/TestSize000134.log +534 -0
  139. data/examples/logs/TestSize000135.log +534 -0
  140. data/examples/logs/TestSize000136.log +534 -0
  141. data/examples/logs/TestSize000137.log +534 -0
  142. data/examples/logs/TestSize000138.log +534 -0
  143. data/examples/logs/TestSize000139.log +534 -0
  144. data/examples/logs/TestSize000140.log +534 -0
  145. data/examples/logs/TestSize000141.log +534 -0
  146. data/examples/logs/TestSize000142.log +534 -0
  147. data/examples/logs/TestSize000143.log +534 -0
  148. data/examples/logs/TestSize000144.log +534 -0
  149. data/examples/logs/TestSize000145.log +534 -0
  150. data/examples/logs/TestSize000146.log +534 -0
  151. data/examples/logs/TestSize000147.log +534 -0
  152. data/examples/logs/TestSize000148.log +534 -0
  153. data/examples/logs/TestSize000149.log +534 -0
  154. data/examples/logs/TestSize000150.log +534 -0
  155. data/examples/logs/TestSize000151.log +534 -0
  156. data/examples/logs/TestSize000152.log +534 -0
  157. data/examples/logs/TestSize000153.log +534 -0
  158. data/examples/logs/TestSize000154.log +534 -0
  159. data/examples/logs/TestSize000155.log +534 -0
  160. data/examples/logs/TestSize000156.log +534 -0
  161. data/examples/logs/TestSize000157.log +534 -0
  162. data/examples/logs/TestSize000158.log +534 -0
  163. data/examples/logs/TestSize000159.log +534 -0
  164. data/examples/logs/TestSize000160.log +534 -0
  165. data/examples/logs/TestSize000161.log +534 -0
  166. data/examples/logs/TestSize000162.log +534 -0
  167. data/examples/logs/TestSize000163.log +534 -0
  168. data/examples/logs/TestSize000164.log +534 -0
  169. data/examples/logs/TestSize000165.log +534 -0
  170. data/examples/logs/TestSize000166.log +534 -0
  171. data/examples/logs/TestSize000167.log +534 -0
  172. data/examples/logs/TestSize000168.log +534 -0
  173. data/examples/logs/TestSize000169.log +534 -0
  174. data/examples/logs/TestSize000170.log +534 -0
  175. data/examples/logs/TestSize000171.log +534 -0
  176. data/examples/logs/TestSize000172.log +534 -0
  177. data/examples/logs/TestSize000173.log +534 -0
  178. data/examples/logs/TestSize000174.log +534 -0
  179. data/examples/logs/TestSize000175.log +534 -0
  180. data/examples/logs/TestSize000176.log +534 -0
  181. data/examples/logs/TestSize000177.log +534 -0
  182. data/examples/logs/TestSize000178.log +534 -0
  183. data/examples/logs/TestSize000179.log +534 -0
  184. data/examples/logs/TestSize000180.log +534 -0
  185. data/examples/logs/TestSize000181.log +534 -0
  186. data/examples/logs/TestSize000182.log +534 -0
  187. data/examples/logs/TestSize000183.log +534 -0
  188. data/examples/logs/TestSize000184.log +534 -0
  189. data/examples/logs/TestSize000185.log +534 -0
  190. data/examples/logs/TestSize000186.log +534 -0
  191. data/examples/logs/TestSize000187.log +312 -0
  192. data/examples/logs/TestTime000001.log +11 -0
  193. data/examples/logs/TestTime000002.log +10 -0
  194. data/examples/logs/TestTime000003.log +10 -0
  195. data/examples/logs/TestTime000004.log +10 -0
  196. data/examples/logs/TestTime000005.log +10 -0
  197. data/examples/logs/TestTime000006.log +10 -0
  198. data/examples/logs/TestTime000007.log +10 -0
  199. data/examples/logs/TestTime000008.log +10 -0
  200. data/examples/logs/TestTime000009.log +10 -0
  201. data/examples/logs/TestTime000010.log +9 -0
  202. data/src/log4r.rb +5 -2
  203. data/src/log4r/GDC.rb +40 -0
  204. data/src/log4r/MDC.rb +59 -0
  205. data/src/log4r/NDC.rb +87 -0
  206. data/src/log4r/formatter/patternformatter.rb +11 -6
  207. data/src/log4r/outputter/bob.patch +25 -0
  208. data/src/log4r/outputter/emailoutputter.rb.orig +118 -0
  209. data/src/log4r/outputter/emailoutputter.rb.rej +46 -0
  210. data/src/log4r/outputter/fileoutputter.rb +12 -5
  211. data/src/log4r/outputter/rollingfileoutputter.rb +8 -3
  212. data/src/log4r/outputter/win32eventoutputter.rb +136 -0
  213. data/src/log4r/rdoc/GDC +14 -0
  214. data/src/log4r/rdoc/MDC +16 -0
  215. data/src/log4r/rdoc/NDC +41 -0
  216. data/src/log4r/rdoc/win32eventoutputter +7 -0
  217. data/src/log4r/repository.rb +73 -52
  218. data/src/log4r/yamlconfigurator.rb +0 -0
  219. data/tests/testGDC.rb +26 -0
  220. data/tests/testMDC.rb +21 -0
  221. data/tests/testNDC.rb +27 -0
  222. data/tests/testthreads.rb +23 -0
  223. metadata +215 -98
  224. data/src/doc/Log4r.html +0 -392
  225. data/src/doc/Log4r/BasicFormatter.html +0 -370
  226. data/src/doc/Log4r/ConfigError.html +0 -207
  227. data/src/doc/Log4r/Configurator.html +0 -1050
  228. data/src/doc/Log4r/DateFileOutputter.html +0 -454
  229. data/src/doc/Log4r/DefaultFormatter.html +0 -205
  230. data/src/doc/Log4r/EmailOutputter.html +0 -636
  231. data/src/doc/Log4r/FileOutputter.html +0 -321
  232. data/src/doc/Log4r/Formatter.html +0 -291
  233. data/src/doc/Log4r/IOOutputter.html +0 -392
  234. data/src/doc/Log4r/Log4rConfig.html +0 -193
  235. data/src/doc/Log4r/Log4rTools.html +0 -370
  236. data/src/doc/Log4r/LogEvent.html +0 -360
  237. data/src/doc/Log4r/LogServer.html +0 -322
  238. data/src/doc/Log4r/Logger.html +0 -1132
  239. data/src/doc/Log4r/Logger/LoggerFactory.html +0 -200
  240. data/src/doc/Log4r/Logger/Repository.html +0 -207
  241. data/src/doc/Log4r/ObjectFormatter.html +0 -262
  242. data/src/doc/Log4r/Outputter.html +0 -910
  243. data/src/doc/Log4r/Outputter/OutputterFactory.html +0 -200
  244. data/src/doc/Log4r/Outputter/consoleoutputters_rb.html +0 -57
  245. data/src/doc/Log4r/Outputter/datefileoutputter_rb.html +0 -93
  246. data/src/doc/Log4r/Outputter/emailoutputter_rb.html +0 -179
  247. data/src/doc/Log4r/Outputter/fileoutputter_rb.html +0 -64
  248. data/src/doc/Log4r/Outputter/iooutputter_rb.html +0 -59
  249. data/src/doc/Log4r/Outputter/outputter_rb.html +0 -222
  250. data/src/doc/Log4r/Outputter/outputterfactory_rb.html +0 -62
  251. data/src/doc/Log4r/Outputter/remoteoutputter_rb.html +0 -59
  252. data/src/doc/Log4r/Outputter/rollingfileoutputter_rb.html +0 -66
  253. data/src/doc/Log4r/Outputter/staticoutputter_rb.html +0 -55
  254. data/src/doc/Log4r/Outputter/syslogoutputter_rb.html +0 -110
  255. data/src/doc/Log4r/Outputter/tst_rb.html +0 -54
  256. data/src/doc/Log4r/PatternFormatter.html +0 -422
  257. data/src/doc/Log4r/ROMPClient.html +0 -193
  258. data/src/doc/Log4r/ROMPServer.html +0 -193
  259. data/src/doc/Log4r/RemoteOutputter.html +0 -384
  260. data/src/doc/Log4r/RollingFileOutputter.html +0 -528
  261. data/src/doc/Log4r/RootLogger.html +0 -512
  262. data/src/doc/Log4r/SimpleFormatter.html +0 -258
  263. data/src/doc/Log4r/StderrOutputter.html +0 -250
  264. data/src/doc/Log4r/StdoutOutputter.html +0 -250
  265. data/src/doc/Log4r/SyslogOutputter.html +0 -533
  266. data/src/doc/Log4r/YamlConfigurator.html +0 -948
  267. data/src/doc/Log4r/base_rb.html +0 -57
  268. data/src/doc/Log4r/config_rb.html +0 -76
  269. data/src/doc/Log4r/configurator_rb.html +0 -370
  270. data/src/doc/Log4r/formatter/formatter_rb.html +0 -121
  271. data/src/doc/Log4r/formatter/patternformatter_rb.html +0 -233
  272. data/src/doc/Log4r/lib/drbloader_rb.html +0 -57
  273. data/src/doc/Log4r/lib/xmlloader_rb.html +0 -57
  274. data/src/doc/Log4r/logevent_rb.html +0 -55
  275. data/src/doc/Log4r/logger_rb.html +0 -293
  276. data/src/doc/Log4r/loggerfactory_rb.html +0 -66
  277. data/src/doc/Log4r/logserver_rb.html +0 -161
  278. data/src/doc/Log4r/rdoc/configurator.html +0 -444
  279. data/src/doc/Log4r/rdoc/emailoutputter.html +0 -261
  280. data/src/doc/Log4r/rdoc/formatter.html +0 -200
  281. data/src/doc/Log4r/rdoc/log4r.html +0 -268
  282. data/src/doc/Log4r/rdoc/logger.html +0 -364
  283. data/src/doc/Log4r/rdoc/logserver.html +0 -247
  284. data/src/doc/Log4r/rdoc/outputter.html +0 -295
  285. data/src/doc/Log4r/rdoc/patternformatter.html +0 -313
  286. data/src/doc/Log4r/rdoc/syslogoutputter.html +0 -179
  287. data/src/doc/Log4r/rdoc/yamlconfigurator.html +0 -169
  288. data/src/doc/Log4r/repository_rb.html +0 -62
  289. data/src/doc/Log4r/staticlogger_rb.html +0 -55
  290. data/src/doc/Log4r/yamlconfigurator_rb.html +0 -95
  291. data/src/doc/REXML.html +0 -193
  292. data/src/doc/created.rid +0 -1
  293. data/src/doc/images/brick.png +0 -0
  294. data/src/doc/images/brick_link.png +0 -0
  295. data/src/doc/images/bug.png +0 -0
  296. data/src/doc/images/bullet_black.png +0 -0
  297. data/src/doc/images/bullet_toggle_minus.png +0 -0
  298. data/src/doc/images/bullet_toggle_plus.png +0 -0
  299. data/src/doc/images/date.png +0 -0
  300. data/src/doc/images/find.png +0 -0
  301. data/src/doc/images/loadingAnimation.gif +0 -0
  302. data/src/doc/images/macFFBgHack.png +0 -0
  303. data/src/doc/images/package.png +0 -0
  304. data/src/doc/images/page_green.png +0 -0
  305. data/src/doc/images/page_white_text.png +0 -0
  306. data/src/doc/images/page_white_width.png +0 -0
  307. data/src/doc/images/plugin.png +0 -0
  308. data/src/doc/images/ruby.png +0 -0
  309. data/src/doc/images/tag_green.png +0 -0
  310. data/src/doc/images/wrench.png +0 -0
  311. data/src/doc/images/wrench_orange.png +0 -0
  312. data/src/doc/images/zoom.png +0 -0
  313. data/src/doc/index.html +0 -384
  314. data/src/doc/js/darkfish.js +0 -116
  315. data/src/doc/js/jquery.js +0 -32
  316. data/src/doc/js/quicksearch.js +0 -114
  317. data/src/doc/js/thickbox-compressed.js +0 -10
  318. data/src/doc/rdoc.css +0 -696
  319. 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 &#8216;mylog&#8217;:
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&#8217;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 &quot;This is a message with priority WARN&quot;
114
- mylog.fatal &quot;A FATAL message&quot;
115
- </pre>
116
- <p>
117
- Blocks can also be logged:
118
- </p>
119
- <pre>
120
- mylog.warn {&quot;This is also a message with priority WARN&quot;}
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&#8217;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 &quot;don't evaluate unless WARN is on&quot; if mylog.warn?
145
- mylog.warn {&quot;don't evaluate unless WARN is on&quot;}
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 &quot;Try to log&quot; =&gt; Method not defined. (NameError)
155
- </pre>
156
- <h2>Custom Levels and Method Names</h2>
157
- <p>
158
- Suppose we&#8217;ve set up <a href="../Log4r.html">Log4r</a> with the
159
- custom levels:
160
- </p>
161
- <pre>
162
- Foo &lt; Bar &lt; Baz
163
- </pre>
164
- <p>
165
- As one might expect, the logging methods are named after them:
166
- </p>
167
- <pre>
168
- log.bar &quot;something&quot; # 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&#8217;s level isn&#8217;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 &#8216;me&#8217; and its ancestors
182
- are &#8216;cain&#8217;, &#8216;grandpa&#8217;, and &#8216;pa&#8217;, 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: &#8216;cain::grandpa::pa::me&#8217;
194
-
195
- </td></tr>
196
- <tr><td valign="top">Logger#name:</td><td>Just &#8216;me&#8217;
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&#8217;s ancestors. To stop this
210
- behavior, set a logger&#8217;s <tt>additive</tt> to false.
211
- </p>
212
- <pre>
213
- Logger['foo'].additive = false
214
- </pre>
215
- <p>
216
- A Logger&#8217;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&#8217;s level is set will not log below
225
- that level. By default, RootLogger&#8217;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[&#8216;root&#8217;] or Logger[&#8216;global&#8217;].
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&#8217;s easy to configure a Logger in XML. The following example should
256
- be sufficient:
257
- </p>
258
- <pre>
259
- ...
260
- &lt;logger name=&quot;papa::mylog&quot; level=&quot;DEBUG&quot; trace=&quot;true&quot;&gt;
261
- &lt;additive&gt;false&lt;/additive&gt;
262
- &lt;outputter&gt;stdout&lt;/outputter&gt;
263
- &lt;outputters&gt;stderr, dancer, doner, blitzen&lt;/outputters&gt;
264
- &lt;/logger&gt;
265
- &lt;logger name=&quot;papa&quot; outputters=&quot;stderr, stdout&quot;/&gt;
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 &#8216;central&#8217; 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&#8217;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&#8217;t do any formatting.
109
- That&#8217;s up to the LogServer&#8217;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=&gt;'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 &quot;This is a message from 'mylog'&quot;
130
- </pre>
131
- <p>
132
- Produces this output on LogServer&#8217;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
- &lt;log4r_config&gt;
144
- &lt;logserver name=&quot;name&quot; uri=&quot;tcpromp://localhost:9999&quot;&gt;
145
- ...
146
- </pre>
147
- <h2>Debugging</h2>
148
- <p>
149
- It is recommended to set up a logger named &#8216;log4r&#8217; on both the
150
- server and client to see what LogServer and RemoteOutputter are up to. Both
151
- of the classes use Log4r&#8217;s internal logging to report any problems.
152
- See the section <b>What&#8217;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
-