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,295 +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: outputter [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">
24
- <div id="metadata">
25
- <div id="project-metadata">
26
-
27
-
28
- <div id="fileindex-section" class="section project-section">
29
- <h3 class="section-header">Files</h3>
30
- <ul>
31
-
32
- <li class="file"><a href="../../log4r/rdoc/configurator.html">configurator</a></li>
33
-
34
- <li class="file"><a href="../../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
35
-
36
- <li class="file"><a href="../../log4r/rdoc/formatter.html">formatter</a></li>
37
-
38
- <li class="file"><a href="../../log4r/rdoc/log4r.html">log4r</a></li>
39
-
40
- <li class="file"><a href="../../log4r/rdoc/logger.html">logger</a></li>
41
-
42
- <li class="file"><a href="../../log4r/rdoc/logserver.html">logserver</a></li>
43
-
44
- <li class="file"><a href="../../log4r/rdoc/outputter.html">outputter</a></li>
45
-
46
- <li class="file"><a href="../../log4r/rdoc/patternformatter.html">patternformatter</a></li>
47
-
48
- <li class="file"><a href="../../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
49
-
50
- <li class="file"><a href="../../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
51
-
52
- </ul>
53
- </div>
54
-
55
-
56
- <div id="classindex-section" class="section project-section">
57
- <h3 class="section-header">Class Index
58
- <span class="search-toggle"><img src="../../images/find.png"
59
- height="16" width="16" alt="[+]"
60
- title="show/hide quicksearch" /></span></h3>
61
- <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
62
- <fieldset>
63
- <legend>Quicksearch</legend>
64
- <input type="text" name="quicksearch" value=""
65
- class="quicksearch-field" />
66
- </fieldset>
67
- </form>
68
-
69
- <ul class="link-list">
70
-
71
- <li><a href="../../Log4r.html">Log4r</a></li>
72
-
73
- <li><a href="../../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
74
-
75
- <li><a href="../../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
76
-
77
- <li><a href="../../Log4r/Configurator.html">Log4r::Configurator</a></li>
78
-
79
- <li><a href="../../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
80
-
81
- <li><a href="../../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
82
-
83
- <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
84
-
85
- <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
86
-
87
- <li><a href="../../Log4r/Formatter.html">Log4r::Formatter</a></li>
88
-
89
- <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
90
-
91
- <li><a href="../../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
92
-
93
- <li><a href="../../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
94
-
95
- <li><a href="../../Log4r/LogServer.html">Log4r::LogServer</a></li>
96
-
97
- <li><a href="../../Log4r/Logger.html">Log4r::Logger</a></li>
98
-
99
- <li><a href="../../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
100
-
101
- <li><a href="../../Log4r/Outputter.html">Log4r::Outputter</a></li>
102
-
103
- <li><a href="../../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
104
-
105
- <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
106
-
107
- <li><a href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
108
-
109
- <li><a href="../../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
110
-
111
- <li><a href="../../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
112
-
113
- <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
114
-
115
- <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
116
-
117
- <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
118
-
119
- <li><a href="../../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
120
-
121
- </ul>
122
- <div id="no-class-search-results" style="display: none;">No matching classes.</div>
123
- </div>
124
-
125
-
126
- </div>
127
- </div>
128
-
129
- <div id="documentation">
130
- <h1>Outputters</h1>
131
- <p>
132
- An Outputter is a logging destination with a particular way to format data.
133
- It has a level threshold and a flexible level mask.
134
- </p>
135
- <p>
136
- Outputters must have names.
137
- </p>
138
- <h2>Level Threshold</h2>
139
- <p>
140
- Outputters have their own level thresholds that default to <tt>root</tt>
141
- level. They will not write any log events with a rank less than their
142
- threshold.
143
- </p>
144
- <h2>Level Mask</h2>
145
- <p>
146
- Alternatively, an Outputter can be told to log specific levels only:
147
- </p>
148
- <pre>
149
- o = StdoutOutputter.new 'console'
150
- o.only_at DEBUG, FATAL # only DEBUG and FATAL get written
151
- </pre>
152
- <h2>Outputter Repository</h2>
153
- <p>
154
- When outputters are created, they store themselves in an Outputter
155
- repository similar to the Logger repository.
156
- </p>
157
- <pre>
158
- StdoutOutputter.new 'console' =&gt; Create 'console' outputter
159
- Outputter['console'] =&gt; Get it back from the stash.
160
- </pre>
161
- <h2>Formatter</h2>
162
- <p>
163
- An outputter has a format defined by its Formatter. If no Formatter is
164
- specified, DefaultFormatter will be used.
165
- </p>
166
- <h2>Outputter is Abstract</h2>
167
- <p>
168
- The basic Outputter class is both abstract and a null object.
169
- </p>
170
- <h2>Interesting Outputters</h2>
171
- <ul>
172
- <li><a
173
- href="../outputter/syslogoutputter_rb.html">log4r/outputter/syslogoutputter.rb</a>
174
- - Logs to syslog
175
-
176
- </li>
177
- <li><a
178
- href="../outputter/emailoutputter_rb.html">log4r/outputter/emailoutputter.rb</a>
179
- - Email logs
180
-
181
- </li>
182
- <li><a href="../logserver_rb.html">log4r/logserver.rb</a> - For remote logging
183
-
184
- </li>
185
- </ul>
186
- <h2>Subclasses</h2>
187
- <ul>
188
- <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a> - for any IO
189
- object
190
-
191
- </li>
192
- <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a> -
193
- $stdout
194
-
195
- </li>
196
- <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a> -
197
- $stderr
198
-
199
- </li>
200
- <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a> - log to
201
- a file
202
-
203
- </li>
204
- <li><a
205
- href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a>
206
- - log to a file and split it as it grows
207
-
208
- </li>
209
- <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a> -
210
- logs to syslog
211
-
212
- </li>
213
- <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a> - email
214
- logs
215
-
216
- </li>
217
- <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a> - for
218
- remote logging
219
-
220
- </li>
221
- </ul>
222
- <h2>Default Outputters</h2>
223
- <p>
224
- Two outputters named &#8216;stdout&#8217; and &#8216;stderr&#8217; are
225
- created automatically at the root level. They are nice shortcuts.
226
- </p>
227
- <pre>
228
- Outputter['stdout'] =&gt; 'stdout'
229
- Outputter['stderr'] =&gt; 'stderr'
230
- Outputter.stdout =&gt; 'stdout'
231
- Outputter.stderr =&gt; 'stderr'
232
- </pre>
233
- <h2>Configuring</h2>
234
- <p>
235
- Outputters must have names and receive hash arguments. The parameter name
236
- for the hash args can be either a symbol or a string. All defined
237
- outputters accept <tt>:level</tt> and <tt>:formatter</tt> arguments. For
238
- arguments specific to a convenience Outputter, please look at the class
239
- description.
240
- </p>
241
- <p>
242
- The level threshold, the levels to log at (only_at) and formatter can be
243
- changed dynamically using the <tt>=</tt> methods.
244
- </p>
245
- <p>
246
- As a collective example of all this, here are various ways to set up an
247
- IOOutputter:
248
- </p>
249
- <pre>
250
- IOOutputter.new ExoticIO.new 'exotic', 'level' =&gt; WARN,
251
- :formatter =&gt; MyFormatter.new
252
- # an equivalent way:
253
- o = IOOutputter.new ExoticIO.new 'exotic'
254
- o.level = WARN
255
- o.formatter = MyFormatter # we can specify just the class
256
- o.only_at = THIS, THAT
257
- </pre>
258
- <h2>XML Configuration</h2>
259
- <p>
260
- Specify outputters as children of <tt>&lt;log4r_config&gt;</tt>:
261
- </p>
262
- <pre>
263
- &lt;log4r_config&gt;
264
- &lt;outputter name=&quot;myout&quot; type=&quot;Log4r::StdoutOutputter&quot;&gt;
265
- &lt;only_at&gt;DEBUG, INFO&lt;/only_at&gt;
266
- &lt;/outputter&gt;
267
- &lt;outputter name=&quot;file&quot; level=&quot;WARN&quot;&gt;
268
- &lt;type&gt;FileOutputter&lt;/type&gt;
269
- &lt;filename&gt;#{logpath}/file.log&lt;/filename&gt;
270
- &lt;trunc&gt;false&lt;/trunc&gt;
271
- &lt;/outputter&gt;
272
- ...
273
- </pre>
274
- <p>
275
- As explained in <a
276
- href="../configurator_rb.html">log4r/configurator.rb</a>, the hash
277
- arguments you would normally pass to <tt>new</tt> are specified as <em>XML
278
- parameters</em>. It is given an IO object to write to, a Formatter to call,
279
- and, optionally, levels to write at.
280
- </p>
281
- <p>
282
- Outputters invoke print then flush on the wrapped IO object. If the IO
283
- chokes, the Outputter will close the IO and set its level to <tt>OFF</tt>.
284
- </p>
285
-
286
- </div>
287
-
288
- <div id="validator-badges">
289
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
290
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
291
- Rdoc Generator</a> 1.1.6</small>.</p>
292
- </div>
293
- </body>
294
- </html>
295
-
@@ -1,313 +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: patternformatter [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">
24
- <div id="metadata">
25
- <div id="project-metadata">
26
-
27
-
28
- <div id="fileindex-section" class="section project-section">
29
- <h3 class="section-header">Files</h3>
30
- <ul>
31
-
32
- <li class="file"><a href="../../log4r/rdoc/configurator.html">configurator</a></li>
33
-
34
- <li class="file"><a href="../../log4r/rdoc/emailoutputter.html">emailoutputter</a></li>
35
-
36
- <li class="file"><a href="../../log4r/rdoc/formatter.html">formatter</a></li>
37
-
38
- <li class="file"><a href="../../log4r/rdoc/log4r.html">log4r</a></li>
39
-
40
- <li class="file"><a href="../../log4r/rdoc/logger.html">logger</a></li>
41
-
42
- <li class="file"><a href="../../log4r/rdoc/logserver.html">logserver</a></li>
43
-
44
- <li class="file"><a href="../../log4r/rdoc/outputter.html">outputter</a></li>
45
-
46
- <li class="file"><a href="../../log4r/rdoc/patternformatter.html">patternformatter</a></li>
47
-
48
- <li class="file"><a href="../../log4r/rdoc/syslogoutputter.html">syslogoutputter</a></li>
49
-
50
- <li class="file"><a href="../../log4r/rdoc/yamlconfigurator.html">yamlconfigurator</a></li>
51
-
52
- </ul>
53
- </div>
54
-
55
-
56
- <div id="classindex-section" class="section project-section">
57
- <h3 class="section-header">Class Index
58
- <span class="search-toggle"><img src="../../images/find.png"
59
- height="16" width="16" alt="[+]"
60
- title="show/hide quicksearch" /></span></h3>
61
- <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
62
- <fieldset>
63
- <legend>Quicksearch</legend>
64
- <input type="text" name="quicksearch" value=""
65
- class="quicksearch-field" />
66
- </fieldset>
67
- </form>
68
-
69
- <ul class="link-list">
70
-
71
- <li><a href="../../Log4r.html">Log4r</a></li>
72
-
73
- <li><a href="../../Log4r/BasicFormatter.html">Log4r::BasicFormatter</a></li>
74
-
75
- <li><a href="../../Log4r/ConfigError.html">Log4r::ConfigError</a></li>
76
-
77
- <li><a href="../../Log4r/Configurator.html">Log4r::Configurator</a></li>
78
-
79
- <li><a href="../../Log4r/DateFileOutputter.html">Log4r::DateFileOutputter</a></li>
80
-
81
- <li><a href="../../Log4r/DefaultFormatter.html">Log4r::DefaultFormatter</a></li>
82
-
83
- <li><a href="../../Log4r/EmailOutputter.html">Log4r::EmailOutputter</a></li>
84
-
85
- <li><a href="../../Log4r/FileOutputter.html">Log4r::FileOutputter</a></li>
86
-
87
- <li><a href="../../Log4r/Formatter.html">Log4r::Formatter</a></li>
88
-
89
- <li><a href="../../Log4r/IOOutputter.html">Log4r::IOOutputter</a></li>
90
-
91
- <li><a href="../../Log4r/Log4rTools.html">Log4r::Log4rTools</a></li>
92
-
93
- <li><a href="../../Log4r/LogEvent.html">Log4r::LogEvent</a></li>
94
-
95
- <li><a href="../../Log4r/LogServer.html">Log4r::LogServer</a></li>
96
-
97
- <li><a href="../../Log4r/Logger.html">Log4r::Logger</a></li>
98
-
99
- <li><a href="../../Log4r/ObjectFormatter.html">Log4r::ObjectFormatter</a></li>
100
-
101
- <li><a href="../../Log4r/Outputter.html">Log4r::Outputter</a></li>
102
-
103
- <li><a href="../../Log4r/PatternFormatter.html">Log4r::PatternFormatter</a></li>
104
-
105
- <li><a href="../../Log4r/RemoteOutputter.html">Log4r::RemoteOutputter</a></li>
106
-
107
- <li><a href="../../Log4r/RollingFileOutputter.html">Log4r::RollingFileOutputter</a></li>
108
-
109
- <li><a href="../../Log4r/RootLogger.html">Log4r::RootLogger</a></li>
110
-
111
- <li><a href="../../Log4r/SimpleFormatter.html">Log4r::SimpleFormatter</a></li>
112
-
113
- <li><a href="../../Log4r/StderrOutputter.html">Log4r::StderrOutputter</a></li>
114
-
115
- <li><a href="../../Log4r/StdoutOutputter.html">Log4r::StdoutOutputter</a></li>
116
-
117
- <li><a href="../../Log4r/SyslogOutputter.html">Log4r::SyslogOutputter</a></li>
118
-
119
- <li><a href="../../Log4r/YamlConfigurator.html">Log4r::YamlConfigurator</a></li>
120
-
121
- </ul>
122
- <div id="no-class-search-results" style="display: none;">No matching classes.</div>
123
- </div>
124
-
125
-
126
- </div>
127
- </div>
128
-
129
- <div id="documentation">
130
- <h1>PatternFormatter</h1>
131
- <p>
132
- PatternFormatter offers complete control over the appearance of <a
133
- href="../../Log4r.html">Log4r</a> log events without having to write custom
134
- Formatter classes. In order to take advantage of PatternFormatter, some
135
- familarity with Kernel#sprintf or the C printf function is recommended. For
136
- time formatting, please look at Time.strftime.
137
- </p>
138
- <p>
139
- PatternFormatter accepts three hash arguments:
140
- </p>
141
- <table>
142
- <tr><td valign="top"><tt>pattern</tt>:</td><td>Log event format string.
143
-
144
- </td></tr>
145
- <tr><td valign="top"><tt>date_pattern</tt>:</td><td>Date format string.
146
-
147
- </td></tr>
148
- <tr><td valign="top"><tt>date_method</tt>:</td><td><tt>Time</tt> method to call (instead of using date_pattern).
149
-
150
- </td></tr>
151
- </table>
152
- <p>
153
- The <tt>pattern</tt> format string is something like &#8220;%l [%d]
154
- %80M&#8221;, which resembles a pattern one would normally pass to
155
- Kernel#sprintf. However, the directives are specific to <a
156
- href="../../Log4r.html">Log4r</a>. Before we go on, let&#8217;s cover some
157
- terminology.
158
- </p>
159
- <h2>Terminology</h2>
160
- <dl>
161
- <dt><b>%</b></dt><dd>The directive identifier. Everything after this up to and including one of
162
- the <em>directive letters</em> defines a <em>directive</em>.
163
-
164
- </dd>
165
- <dt><b>directive letter</b></dt><dd>Letters in the set <tt>[cCdtmMl%]</tt>. These identify what kind of data
166
- we&#8217;re interested in. They are detailed below.
167
-
168
- </dd>
169
- <dt><b>format directive</b></dt><dd>The numbers and assorted symbols that appears between <b>%</b> and a
170
- <em>directive letter</em> is a format directive. It is comprised of an
171
- integer specifying the field width followed optionally by a period and an
172
- integer specifying the precision. The field width is the minimum number of
173
- characters to copy from the data string while the precision is the maximum
174
- number to copy. If the field width is preceded by a - sign, the data will
175
- be left-justified. Otherwise, it is right-justified.
176
-
177
- </dd>
178
- <dt><b>directive</b></dt><dd>A statement that says, &#8220;I want this data to appear with this
179
- (optional) particular format.&#8221; A directive starts with a <b>%</b> and
180
- is followed by a format directive and terminates in a directive letter.
181
-
182
- </dd>
183
- </dl>
184
- <h2>What the Directive Letters mean</h2>
185
- <dl>
186
- <dt><b>c</b></dt><dd>Produces a logger&#8217;s name. Fast.
187
-
188
- </dd>
189
- <dt><b>C</b></dt><dd>Produces a logger&#8217;s full name. Fast.
190
-
191
- </dd>
192
- <dt><b>d</b></dt><dd>Produces the time in a format specified by <b>date_pattern</b> or by
193
- <b>date_method</b>. If neither is specified, the default will be used
194
- (ISO8601). Slow.
195
-
196
- </dd>
197
- <dt><b>t</b></dt><dd>Produces the file and line number of the log event. The appearance varies
198
- by Ruby version, but it is the same output returned by Kernel#caller[0].
199
- Slow.
200
-
201
- </dd>
202
- <dt><b>m</b></dt><dd>The non-inspected log message. That is, to_s called on the object passed
203
- into a log method. Fast.
204
-
205
- </dd>
206
- <dt><b>M</b></dt><dd>The message formatted by the <tt>format_object</tt> method in
207
- BasicFormatter. It will pretty-print Exceptions, print Strings and inspect
208
- everything else. Slow.
209
-
210
- </dd>
211
- <dt><b>l</b></dt><dd>The name of the level. That&#8217;s l as in Lambda. Fast.
212
-
213
- </dd>
214
- <dt><b>%</b></dt><dd>%% just prints a %. Any formatting is <em>probably</em> ignored. Fast.
215
-
216
- </dd>
217
- </dl>
218
- <h2>Examples of directives:</h2>
219
- <dl>
220
- <dt><b>%d</b></dt><dd>Prints out the date according to our date_pattern or date_method. By
221
- default, it looks like this: 2001-01-12 13:15:50
222
-
223
- </dd>
224
- <dt><b>%.120m</b></dt><dd>Prints out at most 120 characters of the log message.
225
-
226
- </dd>
227
- <dt><b>%15t</b></dt><dd>Prints the execution trace and pads it on the left with enough whitespace
228
- to make the whole thing 15 chars.
229
-
230
- </dd>
231
- </dl>
232
- <h2>Pattern String</h2>
233
- <p>
234
- A pattern string is simply a bunch of directives combined with the desired
235
- format. For instance, to show the level in brackets followed by the date
236
- and then the log message trimmed to 15 characters, we use the following
237
- pattern:
238
- </p>
239
- <pre>
240
- &quot;[%l] %d :: %.15m&quot; #=&gt; [DEBUG] 2001-01-12 13:15:50 :: This is a messa
241
- </pre>
242
- <p>
243
- To create a PatternFormatter with this format:
244
- </p>
245
- <pre>
246
- p = PatternFormatter.new(:pattern =&gt; &quot;[%l] %d :: %.15m&quot;)
247
- </pre>
248
- <h2>Formatting time</h2>
249
- <p>
250
- To format time, do one of the following:
251
- </p>
252
- <ul>
253
- <li>Specify a date_pattern
254
-
255
- </li>
256
- <li>Specify what class method of Ruby&#8217;s <tt>Time</tt> class to call.
257
-
258
- </li>
259
- <li>Use the default format
260
-
261
- </li>
262
- </ul>
263
- <p>
264
- If neither date_pattern nor date_method is specified, the default date
265
- format will be used. Currently, that would be ISO8601,
266
- </p>
267
- <p>
268
- The date_pattern is exactly what one would pass to <tt>Time.strftime</tt>.
269
- To specify a date_pattern, pass
270
- <tt>:date_pattern=&gt;&quot;pattern&quot;</tt> to PatternFormat.new.
271
- </p>
272
- <p>
273
- Alternatively, date_method can be specified to produce the output of a
274
- specific <tt>Time</tt> method, such as <tt>usec</tt> or <tt>to_s</tt> or
275
- any other zero argument <tt>Time</tt> method that produces a time. More
276
- precisely, the method to call will be invoked on <tt>Time.now</tt>. To
277
- specify a date_method, pass <tt>:date_method=&gt;'methodname'</tt> (or a
278
- Symbol equivalent) to <tt>PatternFormatter.new</tt>.
279
- </p>
280
- <h1>XML Configuration</h1>
281
- <p>
282
- As explained in <a
283
- href="../configurator_rb.html">log4r/configurator.rb</a>, the hash
284
- arguments to PatternFormatter are <em>XML parameters</em>. Here&#8217;s an
285
- example:
286
- </p>
287
- <pre>
288
- &lt;formatter type=&quot;PatternFormatter&quot; pattern=&quot;[%l] %d :: %.15m&quot;&gt;
289
- &lt;date_method&gt;usec&lt;/date_method&gt;
290
- &lt;/formatter&gt;
291
- </pre>
292
- <h1>Performace considerations</h1>
293
- <p>
294
- The performance impact of using a particular directive letter is noted in
295
- the <b>What the Directives Letters mean</b> section.
296
- </p>
297
- <p>
298
- The performance impact of time formatting merits special attention. If you
299
- aren&#8217;t aware yet, the Time class is kind of a kludge. Time.now.usec
300
- happens to be faster than Time.now. If you&#8217;re concerned about
301
- performance, please profile the various time methods and patterns.
302
- </p>
303
-
304
- </div>
305
-
306
- <div id="validator-badges">
307
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
308
- <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
309
- Rdoc Generator</a> 1.1.6</small>.</p>
310
- </div>
311
- </body>
312
- </html>
313
-