lumberjack 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/MIT_LICENSE +20 -0
  2. data/README.rdoc +86 -0
  3. data/Rakefile +56 -0
  4. data/VERSION +1 -0
  5. data/lib/lumberjack.rb +39 -0
  6. data/lib/lumberjack/device.rb +26 -0
  7. data/lib/lumberjack/device/date_rolling_log_file.rb +58 -0
  8. data/lib/lumberjack/device/log_file.rb +18 -0
  9. data/lib/lumberjack/device/null.rb +15 -0
  10. data/lib/lumberjack/device/rolling_log_file.rb +109 -0
  11. data/lib/lumberjack/device/size_rolling_log_file.rb +58 -0
  12. data/lib/lumberjack/device/writer.rb +119 -0
  13. data/lib/lumberjack/formatter.rb +76 -0
  14. data/lib/lumberjack/formatter/exception_formatter.rb +12 -0
  15. data/lib/lumberjack/formatter/inspect_formatter.rb +10 -0
  16. data/lib/lumberjack/formatter/pretty_print_formatter.rb +23 -0
  17. data/lib/lumberjack/formatter/string_formatter.rb +10 -0
  18. data/lib/lumberjack/log_entry.rb +36 -0
  19. data/lib/lumberjack/logger.rb +302 -0
  20. data/lib/lumberjack/rack.rb +5 -0
  21. data/lib/lumberjack/rack/unit_of_work.rb +15 -0
  22. data/lib/lumberjack/severity.rb +23 -0
  23. data/lib/lumberjack/template.rb +71 -0
  24. data/spec/device/date_rolling_log_file_spec.rb +66 -0
  25. data/spec/device/date_rolling_log_file_spec.rbc +2118 -0
  26. data/spec/device/log_file_spec.rb +26 -0
  27. data/spec/device/log_file_spec.rbc +727 -0
  28. data/spec/device/null_spec.rb +12 -0
  29. data/spec/device/null_spec.rbc +362 -0
  30. data/spec/device/rolling_log_file_spec.rb +117 -0
  31. data/spec/device/rolling_log_file_spec.rbc +2894 -0
  32. data/spec/device/size_rolling_log_file_spec.rb +54 -0
  33. data/spec/device/size_rolling_log_file_spec.rbc +1961 -0
  34. data/spec/device/stream_spec.rbc +3310 -0
  35. data/spec/device/writer_spec.rb +118 -0
  36. data/spec/entry_spec.rbc +2333 -0
  37. data/spec/formatter/exception_formatter_spec.rb +20 -0
  38. data/spec/formatter/exception_formatter_spec.rbc +620 -0
  39. data/spec/formatter/inspect_formatter_spec.rb +13 -0
  40. data/spec/formatter/inspect_formatter_spec.rbc +360 -0
  41. data/spec/formatter/pretty_print_formatter_spec.rb +14 -0
  42. data/spec/formatter/pretty_print_formatter_spec.rbc +380 -0
  43. data/spec/formatter/string_formatter_spec.rb +12 -0
  44. data/spec/formatter/string_formatter_spec.rbc +314 -0
  45. data/spec/formatter_spec.rb +45 -0
  46. data/spec/formatter_spec.rbc +1431 -0
  47. data/spec/log_entry_spec.rb +69 -0
  48. data/spec/logger_spec.rb +390 -0
  49. data/spec/logger_spec.rbc +10043 -0
  50. data/spec/lumberjack_spec.rb +22 -0
  51. data/spec/lumberjack_spec.rbc +523 -0
  52. data/spec/rack/unit_of_work_spec.rb +26 -0
  53. data/spec/rack/unit_of_work_spec.rbc +697 -0
  54. data/spec/severity_spec.rb +23 -0
  55. data/spec/spec_helper.rb +16 -0
  56. data/spec/spec_helper.rbc +391 -0
  57. data/spec/template_spec.rb +34 -0
  58. data/spec/template_spec.rbc +1563 -0
  59. data/spec/unique_identifier_spec.rbc +329 -0
  60. metadata +128 -0
@@ -0,0 +1,5 @@
1
+ module Lumberjack
2
+ module Rack
3
+ autoload :UnitOfWork, File.expand_path("../rack/unit_of_work.rb", __FILE__)
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ module Lumberjack
2
+ module Rack
3
+ class UnitOfWork
4
+ def initialize(app)
5
+ @app = app
6
+ end
7
+
8
+ def call(env)
9
+ Lumberjack.unit_of_work do
10
+ @app.call(env)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ module Lumberjack
2
+ # The standard severity levels for logging messages.
3
+ module Severity
4
+ UNKNOWN = 5
5
+ FATAL = 4
6
+ ERROR = 3
7
+ WARN = 2
8
+ INFO = 1
9
+ DEBUG = 0
10
+
11
+ SEVERITY_LABELS = %w(DEBUG INFO WARN ERROR FATAL UNKNOWN).freeze
12
+
13
+ class << self
14
+ def level_to_label(severity)
15
+ SEVERITY_LABELS[severity] || SEVERITY_LABELS.last
16
+ end
17
+
18
+ def label_to_level(label)
19
+ SEVERITY_LABELS.index(label.to_s.upcase) || UNKNOWN
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,71 @@
1
+ module Lumberjack
2
+ # A template converts entries to strings. Templates can contain the following place holders to
3
+ # reference log entry values:
4
+ #
5
+ # * <tt>:time</tt>
6
+ # * <tt>:severity</tt>
7
+ # * <tt>:progname</tt>
8
+ # * <tt>:unit_of_work_id</tt>
9
+ # * <tt>:message</tt>
10
+ class Template
11
+ TEMPLATE_ARGUMENT_ORDER = %w(:time :severity :progname :pid :unit_of_work_id :message).freeze
12
+ DEFAULT_TIME_FORMAT = "%Y-%m-%dT%H:%M:%S."
13
+ MILLISECOND_FORMAT = "%03d"
14
+ MICROSECOND_FORMAT = "%06d"
15
+
16
+ # Create a new template from the markup. The +first_line+ argument is used to format only the first
17
+ # line of a message. Additional lines will be added to the message unformatted. If you wish to format
18
+ # the additional lines, use the <tt>:additional_lines</tt> options to specify a template. Note that you'll need
19
+ # to provide the line separator character in this template if you want to keep the message on multiple lines.
20
+ #
21
+ # The time will be formatted as YYYY-MM-DDTHH:MM:SSS.SSS by default. If you wish to change the format, you
22
+ # can specify the <tt>:time_format</tt> option which can be either a time format template as documented in
23
+ # +Time#strftime+ or the values +:milliseconds+ or +:microseconds+ to use the standard format with the
24
+ # specified precision.
25
+ #
26
+ # Messages will have white space stripped from both ends.
27
+ def initialize(first_line, options = {})
28
+ @first_line_template = compile(first_line)
29
+ additional_lines = options[:additional_lines] || "#{Lumberjack::LINE_SEPARATOR}:message"
30
+ @additional_line_template = compile(additional_lines)
31
+ # Formatting the time is relatively expensive, so only do it if it will be used
32
+ @template_include_time = first_line.include?(":time") || additional_lines.include?(":time")
33
+ @time_format = options[:time_format] || :milliseconds
34
+ end
35
+
36
+ # Convert an entry into a string using the template.
37
+ def call(entry)
38
+ lines = entry.message.strip.split(Lumberjack::LINE_SEPARATOR)
39
+ formatted_time = format_time(entry.time) if @template_include_time
40
+ message = @first_line_template % [formatted_time, entry.severity_label, entry.progname, entry.pid, entry.unit_of_work_id, lines.shift]
41
+ lines.each do |line|
42
+ message << @additional_line_template % [formatted_time, entry.severity_label, entry.progname, entry.pid, entry.unit_of_work_id, line]
43
+ end
44
+ message
45
+ end
46
+
47
+ private
48
+
49
+ def format_time(time) #:nodoc:
50
+ if @time_format.is_a?(String)
51
+ time.strftime(@time_format)
52
+ elsif @time_format == :milliseconds
53
+ time.strftime(DEFAULT_TIME_FORMAT) << MILLISECOND_FORMAT % (time.usec / 1000.0).round
54
+ else
55
+ time.strftime(DEFAULT_TIME_FORMAT) << MICROSECOND_FORMAT % time.usec
56
+ end
57
+ end
58
+
59
+ # Compile the template string into a value that can be used with sprintf.
60
+ def compile(template) #:nodoc:
61
+ template.gsub(/:[a-z0-9_]+/) do |match|
62
+ position = TEMPLATE_ARGUMENT_ORDER.index(match)
63
+ if position
64
+ "%#{position + 1}$s"
65
+ else
66
+ match
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,66 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lumberjack::Device::DateRollingLogFile do
4
+
5
+ before :all do
6
+ create_tmp_dir
7
+ end
8
+
9
+ after :all do
10
+ delete_tmp_dir
11
+ end
12
+
13
+ let(:one_day){ 60 * 60 * 24 }
14
+
15
+ it "should roll the file daily" do
16
+ today = Date.today
17
+ now = Time.now
18
+ log_file = File.join(tmp_dir, "a#{rand(1000000000)}.log")
19
+ device = Lumberjack::Device::DateRollingLogFile.new(log_file, :roll => :daily, :template => ":message")
20
+ logger = Lumberjack::Logger.new(device, :buffer_size => 2)
21
+ logger.error("test day one")
22
+ logger.flush
23
+ Time.stub!(:now).and_return(now + one_day)
24
+ Date.stub!(:today).and_return(today + 1)
25
+ logger.error("test day two")
26
+ logger.close
27
+
28
+ File.read("#{log_file}.#{today.strftime('%Y-%m-%d')}").should == "test day one#{Lumberjack::LINE_SEPARATOR}"
29
+ File.read(log_file).should == "test day two#{Lumberjack::LINE_SEPARATOR}"
30
+ end
31
+
32
+ it "should roll the file weekly" do
33
+ today = Date.today
34
+ now = Time.now
35
+ log_file = File.join(tmp_dir, "b#{rand(1000000000)}.log")
36
+ device = Lumberjack::Device::DateRollingLogFile.new(log_file, :roll => :weekly, :template => ":message")
37
+ logger = Lumberjack::Logger.new(device, :buffer_size => 2)
38
+ logger.error("test week one")
39
+ logger.flush
40
+ Time.stub!(:now).and_return(now + (7 * one_day))
41
+ Date.stub!(:today).and_return(today + 7)
42
+ logger.error("test week two")
43
+ logger.close
44
+
45
+ File.read("#{log_file}.#{today.strftime('week-of-%Y-%m-%d')}").should == "test week one#{Lumberjack::LINE_SEPARATOR}"
46
+ File.read(log_file).should == "test week two#{Lumberjack::LINE_SEPARATOR}"
47
+ end
48
+
49
+ it "should roll the file monthly" do
50
+ today = Date.today
51
+ now = Time.now
52
+ log_file = File.join(tmp_dir, "c#{rand(1000000000)}.log")
53
+ device = Lumberjack::Device::DateRollingLogFile.new(log_file, :roll => :monthly, :template => ":message")
54
+ logger = Lumberjack::Logger.new(device, :buffer_size => 2)
55
+ logger.error("test month one")
56
+ logger.flush
57
+ Time.stub!(:now).and_return(now + (31 * one_day))
58
+ Date.stub!(:today).and_return(today + 31)
59
+ logger.error("test month two")
60
+ logger.close
61
+
62
+ File.read("#{log_file}.#{today.strftime('%Y-%m')}").should == "test month one#{Lumberjack::LINE_SEPARATOR}"
63
+ File.read(log_file).should == "test month two#{Lumberjack::LINE_SEPARATOR}"
64
+ end
65
+
66
+ end
@@ -0,0 +1,2118 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 26
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 45
24
+ 2
25
+ 3
26
+ 43
27
+ 4
28
+ 43
29
+ 5
30
+ 56
31
+ 6
32
+ 47
33
+ 50
34
+ 7
35
+ 1
36
+ 15
37
+ 2
38
+ 11
39
+ I
40
+ 3
41
+ I
42
+ 0
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ n
48
+ p
49
+ 8
50
+ s
51
+ 11
52
+ spec_helper
53
+ x
54
+ 7
55
+ require
56
+ x
57
+ 10
58
+ Lumberjack
59
+ n
60
+ x
61
+ 6
62
+ Device
63
+ x
64
+ 18
65
+ DateRollingLogFile
66
+ M
67
+ 1
68
+ p
69
+ 2
70
+ x
71
+ 9
72
+ for_block
73
+ t
74
+ n
75
+ x
76
+ 9
77
+ __block__
78
+ i
79
+ 63
80
+ 5
81
+ 7
82
+ 0
83
+ 56
84
+ 1
85
+ 47
86
+ 50
87
+ 2
88
+ 1
89
+ 15
90
+ 5
91
+ 7
92
+ 0
93
+ 56
94
+ 3
95
+ 47
96
+ 50
97
+ 4
98
+ 1
99
+ 15
100
+ 5
101
+ 7
102
+ 5
103
+ 56
104
+ 6
105
+ 47
106
+ 50
107
+ 7
108
+ 1
109
+ 15
110
+ 5
111
+ 7
112
+ 8
113
+ 64
114
+ 56
115
+ 9
116
+ 47
117
+ 50
118
+ 10
119
+ 1
120
+ 15
121
+ 5
122
+ 7
123
+ 11
124
+ 64
125
+ 56
126
+ 12
127
+ 47
128
+ 50
129
+ 10
130
+ 1
131
+ 15
132
+ 5
133
+ 7
134
+ 13
135
+ 64
136
+ 56
137
+ 14
138
+ 47
139
+ 50
140
+ 10
141
+ 1
142
+ 11
143
+ I
144
+ 4
145
+ I
146
+ 0
147
+ I
148
+ 0
149
+ I
150
+ 0
151
+ I
152
+ -2
153
+ p
154
+ 15
155
+ x
156
+ 3
157
+ all
158
+ M
159
+ 1
160
+ p
161
+ 2
162
+ x
163
+ 9
164
+ for_block
165
+ t
166
+ n
167
+ x
168
+ 9
169
+ __block__
170
+ i
171
+ 4
172
+ 5
173
+ 48
174
+ 0
175
+ 11
176
+ I
177
+ 2
178
+ I
179
+ 0
180
+ I
181
+ 0
182
+ I
183
+ 0
184
+ I
185
+ -2
186
+ p
187
+ 1
188
+ x
189
+ 14
190
+ create_tmp_dir
191
+ p
192
+ 3
193
+ I
194
+ 0
195
+ I
196
+ 6
197
+ I
198
+ 4
199
+ x
200
+ 80
201
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
202
+ p
203
+ 0
204
+ x
205
+ 6
206
+ before
207
+ M
208
+ 1
209
+ p
210
+ 2
211
+ x
212
+ 9
213
+ for_block
214
+ t
215
+ n
216
+ x
217
+ 9
218
+ __block__
219
+ i
220
+ 4
221
+ 5
222
+ 48
223
+ 0
224
+ 11
225
+ I
226
+ 2
227
+ I
228
+ 0
229
+ I
230
+ 0
231
+ I
232
+ 0
233
+ I
234
+ -2
235
+ p
236
+ 1
237
+ x
238
+ 14
239
+ delete_tmp_dir
240
+ p
241
+ 3
242
+ I
243
+ 0
244
+ I
245
+ a
246
+ I
247
+ 4
248
+ x
249
+ 80
250
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
251
+ p
252
+ 0
253
+ x
254
+ 5
255
+ after
256
+ x
257
+ 7
258
+ one_day
259
+ M
260
+ 1
261
+ p
262
+ 2
263
+ x
264
+ 9
265
+ for_block
266
+ t
267
+ n
268
+ x
269
+ 9
270
+ __block__
271
+ i
272
+ 13
273
+ 4
274
+ 60
275
+ 4
276
+ 60
277
+ 49
278
+ 0
279
+ 1
280
+ 4
281
+ 24
282
+ 49
283
+ 0
284
+ 1
285
+ 11
286
+ I
287
+ 3
288
+ I
289
+ 0
290
+ I
291
+ 0
292
+ I
293
+ 0
294
+ I
295
+ -2
296
+ p
297
+ 1
298
+ x
299
+ 1
300
+ *
301
+ p
302
+ 3
303
+ I
304
+ 0
305
+ I
306
+ d
307
+ I
308
+ d
309
+ x
310
+ 80
311
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
312
+ p
313
+ 0
314
+ x
315
+ 3
316
+ let
317
+ s
318
+ 26
319
+ should roll the file daily
320
+ M
321
+ 1
322
+ p
323
+ 2
324
+ x
325
+ 9
326
+ for_block
327
+ t
328
+ n
329
+ x
330
+ 9
331
+ __block__
332
+ i
333
+ 332
334
+ 45
335
+ 0
336
+ 1
337
+ 49
338
+ 2
339
+ 0
340
+ 19
341
+ 0
342
+ 15
343
+ 45
344
+ 3
345
+ 4
346
+ 49
347
+ 5
348
+ 0
349
+ 19
350
+ 1
351
+ 15
352
+ 45
353
+ 6
354
+ 7
355
+ 5
356
+ 48
357
+ 8
358
+ 7
359
+ 9
360
+ 5
361
+ 7
362
+ 10
363
+ 47
364
+ 49
365
+ 11
366
+ 1
367
+ 47
368
+ 101
369
+ 12
370
+ 7
371
+ 13
372
+ 63
373
+ 3
374
+ 49
375
+ 14
376
+ 2
377
+ 19
378
+ 2
379
+ 15
380
+ 45
381
+ 15
382
+ 16
383
+ 43
384
+ 17
385
+ 43
386
+ 18
387
+ 13
388
+ 71
389
+ 19
390
+ 47
391
+ 9
392
+ 99
393
+ 47
394
+ 49
395
+ 20
396
+ 0
397
+ 13
398
+ 20
399
+ 2
400
+ 44
401
+ 43
402
+ 21
403
+ 80
404
+ 49
405
+ 22
406
+ 1
407
+ 13
408
+ 7
409
+ 23
410
+ 7
411
+ 24
412
+ 49
413
+ 25
414
+ 2
415
+ 15
416
+ 13
417
+ 7
418
+ 26
419
+ 7
420
+ 27
421
+ 64
422
+ 49
423
+ 25
424
+ 2
425
+ 15
426
+ 47
427
+ 49
428
+ 28
429
+ 2
430
+ 15
431
+ 8
432
+ 130
433
+ 20
434
+ 2
435
+ 44
436
+ 43
437
+ 21
438
+ 80
439
+ 49
440
+ 22
441
+ 1
442
+ 13
443
+ 7
444
+ 23
445
+ 7
446
+ 24
447
+ 49
448
+ 25
449
+ 2
450
+ 15
451
+ 13
452
+ 7
453
+ 26
454
+ 7
455
+ 27
456
+ 64
457
+ 49
458
+ 25
459
+ 2
460
+ 15
461
+ 49
462
+ 19
463
+ 2
464
+ 19
465
+ 3
466
+ 15
467
+ 45
468
+ 15
469
+ 29
470
+ 43
471
+ 30
472
+ 13
473
+ 71
474
+ 19
475
+ 47
476
+ 9
477
+ 173
478
+ 47
479
+ 49
480
+ 20
481
+ 0
482
+ 13
483
+ 20
484
+ 3
485
+ 44
486
+ 43
487
+ 21
488
+ 79
489
+ 49
490
+ 22
491
+ 1
492
+ 13
493
+ 7
494
+ 31
495
+ 80
496
+ 49
497
+ 25
498
+ 2
499
+ 15
500
+ 47
501
+ 49
502
+ 28
503
+ 2
504
+ 15
505
+ 8
506
+ 193
507
+ 20
508
+ 3
509
+ 44
510
+ 43
511
+ 21
512
+ 79
513
+ 49
514
+ 22
515
+ 1
516
+ 13
517
+ 7
518
+ 31
519
+ 80
520
+ 49
521
+ 25
522
+ 2
523
+ 15
524
+ 49
525
+ 19
526
+ 2
527
+ 19
528
+ 4
529
+ 15
530
+ 20
531
+ 4
532
+ 7
533
+ 32
534
+ 64
535
+ 49
536
+ 33
537
+ 1
538
+ 15
539
+ 20
540
+ 4
541
+ 49
542
+ 34
543
+ 0
544
+ 15
545
+ 45
546
+ 3
547
+ 35
548
+ 7
549
+ 5
550
+ 49
551
+ 36
552
+ 1
553
+ 20
554
+ 1
555
+ 5
556
+ 48
557
+ 37
558
+ 81
559
+ 38
560
+ 49
561
+ 39
562
+ 1
563
+ 15
564
+ 45
565
+ 0
566
+ 40
567
+ 7
568
+ 2
569
+ 49
570
+ 36
571
+ 1
572
+ 20
573
+ 0
574
+ 79
575
+ 81
576
+ 38
577
+ 49
578
+ 39
579
+ 1
580
+ 15
581
+ 20
582
+ 4
583
+ 7
584
+ 41
585
+ 64
586
+ 49
587
+ 33
588
+ 1
589
+ 15
590
+ 20
591
+ 4
592
+ 49
593
+ 42
594
+ 0
595
+ 15
596
+ 45
597
+ 6
598
+ 43
599
+ 20
600
+ 2
601
+ 47
602
+ 101
603
+ 12
604
+ 7
605
+ 44
606
+ 20
607
+ 0
608
+ 7
609
+ 45
610
+ 64
611
+ 49
612
+ 46
613
+ 1
614
+ 47
615
+ 101
616
+ 12
617
+ 63
618
+ 3
619
+ 49
620
+ 47
621
+ 1
622
+ 49
623
+ 48
624
+ 0
625
+ 7
626
+ 32
627
+ 45
628
+ 15
629
+ 49
630
+ 43
631
+ 50
632
+ 47
633
+ 101
634
+ 12
635
+ 63
636
+ 2
637
+ 83
638
+ 51
639
+ 15
640
+ 45
641
+ 6
642
+ 52
643
+ 20
644
+ 2
645
+ 49
646
+ 47
647
+ 1
648
+ 49
649
+ 48
650
+ 0
651
+ 7
652
+ 41
653
+ 45
654
+ 15
655
+ 53
656
+ 43
657
+ 50
658
+ 47
659
+ 101
660
+ 12
661
+ 63
662
+ 2
663
+ 83
664
+ 51
665
+ 11
666
+ I
667
+ d
668
+ I
669
+ 5
670
+ I
671
+ 0
672
+ I
673
+ 0
674
+ I
675
+ -2
676
+ p
677
+ 54
678
+ x
679
+ 4
680
+ Date
681
+ n
682
+ x
683
+ 5
684
+ today
685
+ x
686
+ 4
687
+ Time
688
+ n
689
+ x
690
+ 3
691
+ now
692
+ x
693
+ 4
694
+ File
695
+ n
696
+ x
697
+ 7
698
+ tmp_dir
699
+ s
700
+ 1
701
+ a
702
+ I
703
+ 3b9aca00
704
+ x
705
+ 4
706
+ rand
707
+ x
708
+ 4
709
+ to_s
710
+ s
711
+ 4
712
+ .log
713
+ x
714
+ 4
715
+ join
716
+ x
717
+ 10
718
+ Lumberjack
719
+ n
720
+ x
721
+ 6
722
+ Device
723
+ x
724
+ 18
725
+ DateRollingLogFile
726
+ x
727
+ 3
728
+ new
729
+ x
730
+ 8
731
+ allocate
732
+ x
733
+ 4
734
+ Hash
735
+ x
736
+ 16
737
+ new_from_literal
738
+ x
739
+ 4
740
+ roll
741
+ x
742
+ 5
743
+ daily
744
+ x
745
+ 3
746
+ []=
747
+ x
748
+ 8
749
+ template
750
+ s
751
+ 8
752
+ :message
753
+ x
754
+ 10
755
+ initialize
756
+ n
757
+ x
758
+ 6
759
+ Logger
760
+ x
761
+ 11
762
+ buffer_size
763
+ s
764
+ 12
765
+ test day one
766
+ x
767
+ 5
768
+ error
769
+ x
770
+ 5
771
+ flush
772
+ n
773
+ x
774
+ 5
775
+ stub!
776
+ x
777
+ 7
778
+ one_day
779
+ x
780
+ 1
781
+ +
782
+ x
783
+ 10
784
+ and_return
785
+ n
786
+ s
787
+ 12
788
+ test day two
789
+ x
790
+ 5
791
+ close
792
+ n
793
+ s
794
+ 1
795
+ .
796
+ s
797
+ 8
798
+ %Y-%m-%d
799
+ x
800
+ 8
801
+ strftime
802
+ x
803
+ 4
804
+ read
805
+ x
806
+ 6
807
+ should
808
+ n
809
+ x
810
+ 14
811
+ LINE_SEPARATOR
812
+ x
813
+ 2
814
+ ==
815
+ n
816
+ n
817
+ p
818
+ 27
819
+ I
820
+ 0
821
+ I
822
+ 10
823
+ I
824
+ 9
825
+ I
826
+ 11
827
+ I
828
+ 12
829
+ I
830
+ 12
831
+ I
832
+ 2e
833
+ I
834
+ 13
835
+ I
836
+ 85
837
+ I
838
+ 14
839
+ I
840
+ c4
841
+ I
842
+ 15
843
+ I
844
+ cd
845
+ I
846
+ 16
847
+ I
848
+ d3
849
+ I
850
+ 17
851
+ I
852
+ e6
853
+ I
854
+ 18
855
+ I
856
+ f7
857
+ I
858
+ 19
859
+ I
860
+ 100
861
+ I
862
+ 1a
863
+ I
864
+ 106
865
+ I
866
+ 1c
867
+ I
868
+ 132
869
+ I
870
+ 1d
871
+ I
872
+ 14c
873
+ x
874
+ 80
875
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
876
+ p
877
+ 5
878
+ x
879
+ 5
880
+ today
881
+ x
882
+ 3
883
+ now
884
+ x
885
+ 8
886
+ log_file
887
+ x
888
+ 6
889
+ device
890
+ x
891
+ 6
892
+ logger
893
+ x
894
+ 2
895
+ it
896
+ s
897
+ 27
898
+ should roll the file weekly
899
+ M
900
+ 1
901
+ p
902
+ 2
903
+ x
904
+ 9
905
+ for_block
906
+ t
907
+ n
908
+ x
909
+ 9
910
+ __block__
911
+ i
912
+ 338
913
+ 45
914
+ 0
915
+ 1
916
+ 49
917
+ 2
918
+ 0
919
+ 19
920
+ 0
921
+ 15
922
+ 45
923
+ 3
924
+ 4
925
+ 49
926
+ 5
927
+ 0
928
+ 19
929
+ 1
930
+ 15
931
+ 45
932
+ 6
933
+ 7
934
+ 5
935
+ 48
936
+ 8
937
+ 7
938
+ 9
939
+ 5
940
+ 7
941
+ 10
942
+ 47
943
+ 49
944
+ 11
945
+ 1
946
+ 47
947
+ 101
948
+ 12
949
+ 7
950
+ 13
951
+ 63
952
+ 3
953
+ 49
954
+ 14
955
+ 2
956
+ 19
957
+ 2
958
+ 15
959
+ 45
960
+ 15
961
+ 16
962
+ 43
963
+ 17
964
+ 43
965
+ 18
966
+ 13
967
+ 71
968
+ 19
969
+ 47
970
+ 9
971
+ 99
972
+ 47
973
+ 49
974
+ 20
975
+ 0
976
+ 13
977
+ 20
978
+ 2
979
+ 44
980
+ 43
981
+ 21
982
+ 80
983
+ 49
984
+ 22
985
+ 1
986
+ 13
987
+ 7
988
+ 23
989
+ 7
990
+ 24
991
+ 49
992
+ 25
993
+ 2
994
+ 15
995
+ 13
996
+ 7
997
+ 26
998
+ 7
999
+ 27
1000
+ 64
1001
+ 49
1002
+ 25
1003
+ 2
1004
+ 15
1005
+ 47
1006
+ 49
1007
+ 28
1008
+ 2
1009
+ 15
1010
+ 8
1011
+ 130
1012
+ 20
1013
+ 2
1014
+ 44
1015
+ 43
1016
+ 21
1017
+ 80
1018
+ 49
1019
+ 22
1020
+ 1
1021
+ 13
1022
+ 7
1023
+ 23
1024
+ 7
1025
+ 24
1026
+ 49
1027
+ 25
1028
+ 2
1029
+ 15
1030
+ 13
1031
+ 7
1032
+ 26
1033
+ 7
1034
+ 27
1035
+ 64
1036
+ 49
1037
+ 25
1038
+ 2
1039
+ 15
1040
+ 49
1041
+ 19
1042
+ 2
1043
+ 19
1044
+ 3
1045
+ 15
1046
+ 45
1047
+ 15
1048
+ 29
1049
+ 43
1050
+ 30
1051
+ 13
1052
+ 71
1053
+ 19
1054
+ 47
1055
+ 9
1056
+ 173
1057
+ 47
1058
+ 49
1059
+ 20
1060
+ 0
1061
+ 13
1062
+ 20
1063
+ 3
1064
+ 44
1065
+ 43
1066
+ 21
1067
+ 79
1068
+ 49
1069
+ 22
1070
+ 1
1071
+ 13
1072
+ 7
1073
+ 31
1074
+ 80
1075
+ 49
1076
+ 25
1077
+ 2
1078
+ 15
1079
+ 47
1080
+ 49
1081
+ 28
1082
+ 2
1083
+ 15
1084
+ 8
1085
+ 193
1086
+ 20
1087
+ 3
1088
+ 44
1089
+ 43
1090
+ 21
1091
+ 79
1092
+ 49
1093
+ 22
1094
+ 1
1095
+ 13
1096
+ 7
1097
+ 31
1098
+ 80
1099
+ 49
1100
+ 25
1101
+ 2
1102
+ 15
1103
+ 49
1104
+ 19
1105
+ 2
1106
+ 19
1107
+ 4
1108
+ 15
1109
+ 20
1110
+ 4
1111
+ 7
1112
+ 32
1113
+ 64
1114
+ 49
1115
+ 33
1116
+ 1
1117
+ 15
1118
+ 20
1119
+ 4
1120
+ 49
1121
+ 34
1122
+ 0
1123
+ 15
1124
+ 45
1125
+ 3
1126
+ 35
1127
+ 7
1128
+ 5
1129
+ 49
1130
+ 36
1131
+ 1
1132
+ 20
1133
+ 1
1134
+ 4
1135
+ 7
1136
+ 5
1137
+ 48
1138
+ 37
1139
+ 49
1140
+ 38
1141
+ 1
1142
+ 81
1143
+ 39
1144
+ 49
1145
+ 40
1146
+ 1
1147
+ 15
1148
+ 45
1149
+ 0
1150
+ 41
1151
+ 7
1152
+ 2
1153
+ 49
1154
+ 36
1155
+ 1
1156
+ 20
1157
+ 0
1158
+ 4
1159
+ 7
1160
+ 81
1161
+ 39
1162
+ 49
1163
+ 40
1164
+ 1
1165
+ 15
1166
+ 20
1167
+ 4
1168
+ 7
1169
+ 42
1170
+ 64
1171
+ 49
1172
+ 33
1173
+ 1
1174
+ 15
1175
+ 20
1176
+ 4
1177
+ 49
1178
+ 43
1179
+ 0
1180
+ 15
1181
+ 45
1182
+ 6
1183
+ 44
1184
+ 20
1185
+ 2
1186
+ 47
1187
+ 101
1188
+ 12
1189
+ 7
1190
+ 45
1191
+ 20
1192
+ 0
1193
+ 7
1194
+ 46
1195
+ 64
1196
+ 49
1197
+ 47
1198
+ 1
1199
+ 47
1200
+ 101
1201
+ 12
1202
+ 63
1203
+ 3
1204
+ 49
1205
+ 48
1206
+ 1
1207
+ 49
1208
+ 49
1209
+ 0
1210
+ 7
1211
+ 32
1212
+ 45
1213
+ 15
1214
+ 50
1215
+ 43
1216
+ 51
1217
+ 47
1218
+ 101
1219
+ 12
1220
+ 63
1221
+ 2
1222
+ 83
1223
+ 52
1224
+ 15
1225
+ 45
1226
+ 6
1227
+ 53
1228
+ 20
1229
+ 2
1230
+ 49
1231
+ 48
1232
+ 1
1233
+ 49
1234
+ 49
1235
+ 0
1236
+ 7
1237
+ 42
1238
+ 45
1239
+ 15
1240
+ 54
1241
+ 43
1242
+ 51
1243
+ 47
1244
+ 101
1245
+ 12
1246
+ 63
1247
+ 2
1248
+ 83
1249
+ 52
1250
+ 11
1251
+ I
1252
+ d
1253
+ I
1254
+ 5
1255
+ I
1256
+ 0
1257
+ I
1258
+ 0
1259
+ I
1260
+ -2
1261
+ p
1262
+ 55
1263
+ x
1264
+ 4
1265
+ Date
1266
+ n
1267
+ x
1268
+ 5
1269
+ today
1270
+ x
1271
+ 4
1272
+ Time
1273
+ n
1274
+ x
1275
+ 3
1276
+ now
1277
+ x
1278
+ 4
1279
+ File
1280
+ n
1281
+ x
1282
+ 7
1283
+ tmp_dir
1284
+ s
1285
+ 1
1286
+ b
1287
+ I
1288
+ 3b9aca00
1289
+ x
1290
+ 4
1291
+ rand
1292
+ x
1293
+ 4
1294
+ to_s
1295
+ s
1296
+ 4
1297
+ .log
1298
+ x
1299
+ 4
1300
+ join
1301
+ x
1302
+ 10
1303
+ Lumberjack
1304
+ n
1305
+ x
1306
+ 6
1307
+ Device
1308
+ x
1309
+ 18
1310
+ DateRollingLogFile
1311
+ x
1312
+ 3
1313
+ new
1314
+ x
1315
+ 8
1316
+ allocate
1317
+ x
1318
+ 4
1319
+ Hash
1320
+ x
1321
+ 16
1322
+ new_from_literal
1323
+ x
1324
+ 4
1325
+ roll
1326
+ x
1327
+ 6
1328
+ weekly
1329
+ x
1330
+ 3
1331
+ []=
1332
+ x
1333
+ 8
1334
+ template
1335
+ s
1336
+ 8
1337
+ :message
1338
+ x
1339
+ 10
1340
+ initialize
1341
+ n
1342
+ x
1343
+ 6
1344
+ Logger
1345
+ x
1346
+ 11
1347
+ buffer_size
1348
+ s
1349
+ 13
1350
+ test week one
1351
+ x
1352
+ 5
1353
+ error
1354
+ x
1355
+ 5
1356
+ flush
1357
+ n
1358
+ x
1359
+ 5
1360
+ stub!
1361
+ x
1362
+ 7
1363
+ one_day
1364
+ x
1365
+ 1
1366
+ *
1367
+ x
1368
+ 1
1369
+ +
1370
+ x
1371
+ 10
1372
+ and_return
1373
+ n
1374
+ s
1375
+ 13
1376
+ test week two
1377
+ x
1378
+ 5
1379
+ close
1380
+ n
1381
+ s
1382
+ 1
1383
+ .
1384
+ s
1385
+ 10
1386
+ %Y-week-%W
1387
+ x
1388
+ 8
1389
+ strftime
1390
+ x
1391
+ 4
1392
+ read
1393
+ x
1394
+ 6
1395
+ should
1396
+ n
1397
+ x
1398
+ 14
1399
+ LINE_SEPARATOR
1400
+ x
1401
+ 2
1402
+ ==
1403
+ n
1404
+ n
1405
+ p
1406
+ 27
1407
+ I
1408
+ 0
1409
+ I
1410
+ 21
1411
+ I
1412
+ 9
1413
+ I
1414
+ 22
1415
+ I
1416
+ 12
1417
+ I
1418
+ 23
1419
+ I
1420
+ 2e
1421
+ I
1422
+ 24
1423
+ I
1424
+ 85
1425
+ I
1426
+ 25
1427
+ I
1428
+ c4
1429
+ I
1430
+ 26
1431
+ I
1432
+ cd
1433
+ I
1434
+ 27
1435
+ I
1436
+ d3
1437
+ I
1438
+ 28
1439
+ I
1440
+ eb
1441
+ I
1442
+ 29
1443
+ I
1444
+ fd
1445
+ I
1446
+ 2a
1447
+ I
1448
+ 106
1449
+ I
1450
+ 2b
1451
+ I
1452
+ 10c
1453
+ I
1454
+ 2d
1455
+ I
1456
+ 138
1457
+ I
1458
+ 2e
1459
+ I
1460
+ 152
1461
+ x
1462
+ 80
1463
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
1464
+ p
1465
+ 5
1466
+ x
1467
+ 5
1468
+ today
1469
+ x
1470
+ 3
1471
+ now
1472
+ x
1473
+ 8
1474
+ log_file
1475
+ x
1476
+ 6
1477
+ device
1478
+ x
1479
+ 6
1480
+ logger
1481
+ s
1482
+ 28
1483
+ should roll the file monthly
1484
+ M
1485
+ 1
1486
+ p
1487
+ 2
1488
+ x
1489
+ 9
1490
+ for_block
1491
+ t
1492
+ n
1493
+ x
1494
+ 9
1495
+ __block__
1496
+ i
1497
+ 338
1498
+ 45
1499
+ 0
1500
+ 1
1501
+ 49
1502
+ 2
1503
+ 0
1504
+ 19
1505
+ 0
1506
+ 15
1507
+ 45
1508
+ 3
1509
+ 4
1510
+ 49
1511
+ 5
1512
+ 0
1513
+ 19
1514
+ 1
1515
+ 15
1516
+ 45
1517
+ 6
1518
+ 7
1519
+ 5
1520
+ 48
1521
+ 8
1522
+ 7
1523
+ 9
1524
+ 5
1525
+ 7
1526
+ 10
1527
+ 47
1528
+ 49
1529
+ 11
1530
+ 1
1531
+ 47
1532
+ 101
1533
+ 12
1534
+ 7
1535
+ 13
1536
+ 63
1537
+ 3
1538
+ 49
1539
+ 14
1540
+ 2
1541
+ 19
1542
+ 2
1543
+ 15
1544
+ 45
1545
+ 15
1546
+ 16
1547
+ 43
1548
+ 17
1549
+ 43
1550
+ 18
1551
+ 13
1552
+ 71
1553
+ 19
1554
+ 47
1555
+ 9
1556
+ 99
1557
+ 47
1558
+ 49
1559
+ 20
1560
+ 0
1561
+ 13
1562
+ 20
1563
+ 2
1564
+ 44
1565
+ 43
1566
+ 21
1567
+ 80
1568
+ 49
1569
+ 22
1570
+ 1
1571
+ 13
1572
+ 7
1573
+ 23
1574
+ 7
1575
+ 24
1576
+ 49
1577
+ 25
1578
+ 2
1579
+ 15
1580
+ 13
1581
+ 7
1582
+ 26
1583
+ 7
1584
+ 27
1585
+ 64
1586
+ 49
1587
+ 25
1588
+ 2
1589
+ 15
1590
+ 47
1591
+ 49
1592
+ 28
1593
+ 2
1594
+ 15
1595
+ 8
1596
+ 130
1597
+ 20
1598
+ 2
1599
+ 44
1600
+ 43
1601
+ 21
1602
+ 80
1603
+ 49
1604
+ 22
1605
+ 1
1606
+ 13
1607
+ 7
1608
+ 23
1609
+ 7
1610
+ 24
1611
+ 49
1612
+ 25
1613
+ 2
1614
+ 15
1615
+ 13
1616
+ 7
1617
+ 26
1618
+ 7
1619
+ 27
1620
+ 64
1621
+ 49
1622
+ 25
1623
+ 2
1624
+ 15
1625
+ 49
1626
+ 19
1627
+ 2
1628
+ 19
1629
+ 3
1630
+ 15
1631
+ 45
1632
+ 15
1633
+ 29
1634
+ 43
1635
+ 30
1636
+ 13
1637
+ 71
1638
+ 19
1639
+ 47
1640
+ 9
1641
+ 173
1642
+ 47
1643
+ 49
1644
+ 20
1645
+ 0
1646
+ 13
1647
+ 20
1648
+ 3
1649
+ 44
1650
+ 43
1651
+ 21
1652
+ 79
1653
+ 49
1654
+ 22
1655
+ 1
1656
+ 13
1657
+ 7
1658
+ 31
1659
+ 80
1660
+ 49
1661
+ 25
1662
+ 2
1663
+ 15
1664
+ 47
1665
+ 49
1666
+ 28
1667
+ 2
1668
+ 15
1669
+ 8
1670
+ 193
1671
+ 20
1672
+ 3
1673
+ 44
1674
+ 43
1675
+ 21
1676
+ 79
1677
+ 49
1678
+ 22
1679
+ 1
1680
+ 13
1681
+ 7
1682
+ 31
1683
+ 80
1684
+ 49
1685
+ 25
1686
+ 2
1687
+ 15
1688
+ 49
1689
+ 19
1690
+ 2
1691
+ 19
1692
+ 4
1693
+ 15
1694
+ 20
1695
+ 4
1696
+ 7
1697
+ 32
1698
+ 64
1699
+ 49
1700
+ 33
1701
+ 1
1702
+ 15
1703
+ 20
1704
+ 4
1705
+ 49
1706
+ 34
1707
+ 0
1708
+ 15
1709
+ 45
1710
+ 3
1711
+ 35
1712
+ 7
1713
+ 5
1714
+ 49
1715
+ 36
1716
+ 1
1717
+ 20
1718
+ 1
1719
+ 4
1720
+ 31
1721
+ 5
1722
+ 48
1723
+ 37
1724
+ 49
1725
+ 38
1726
+ 1
1727
+ 81
1728
+ 39
1729
+ 49
1730
+ 40
1731
+ 1
1732
+ 15
1733
+ 45
1734
+ 0
1735
+ 41
1736
+ 7
1737
+ 2
1738
+ 49
1739
+ 36
1740
+ 1
1741
+ 20
1742
+ 0
1743
+ 4
1744
+ 31
1745
+ 81
1746
+ 39
1747
+ 49
1748
+ 40
1749
+ 1
1750
+ 15
1751
+ 20
1752
+ 4
1753
+ 7
1754
+ 42
1755
+ 64
1756
+ 49
1757
+ 33
1758
+ 1
1759
+ 15
1760
+ 20
1761
+ 4
1762
+ 49
1763
+ 43
1764
+ 0
1765
+ 15
1766
+ 45
1767
+ 6
1768
+ 44
1769
+ 20
1770
+ 2
1771
+ 47
1772
+ 101
1773
+ 12
1774
+ 7
1775
+ 45
1776
+ 20
1777
+ 0
1778
+ 7
1779
+ 46
1780
+ 64
1781
+ 49
1782
+ 47
1783
+ 1
1784
+ 47
1785
+ 101
1786
+ 12
1787
+ 63
1788
+ 3
1789
+ 49
1790
+ 48
1791
+ 1
1792
+ 49
1793
+ 49
1794
+ 0
1795
+ 7
1796
+ 32
1797
+ 45
1798
+ 15
1799
+ 50
1800
+ 43
1801
+ 51
1802
+ 47
1803
+ 101
1804
+ 12
1805
+ 63
1806
+ 2
1807
+ 83
1808
+ 52
1809
+ 15
1810
+ 45
1811
+ 6
1812
+ 53
1813
+ 20
1814
+ 2
1815
+ 49
1816
+ 48
1817
+ 1
1818
+ 49
1819
+ 49
1820
+ 0
1821
+ 7
1822
+ 42
1823
+ 45
1824
+ 15
1825
+ 54
1826
+ 43
1827
+ 51
1828
+ 47
1829
+ 101
1830
+ 12
1831
+ 63
1832
+ 2
1833
+ 83
1834
+ 52
1835
+ 11
1836
+ I
1837
+ d
1838
+ I
1839
+ 5
1840
+ I
1841
+ 0
1842
+ I
1843
+ 0
1844
+ I
1845
+ -2
1846
+ p
1847
+ 55
1848
+ x
1849
+ 4
1850
+ Date
1851
+ n
1852
+ x
1853
+ 5
1854
+ today
1855
+ x
1856
+ 4
1857
+ Time
1858
+ n
1859
+ x
1860
+ 3
1861
+ now
1862
+ x
1863
+ 4
1864
+ File
1865
+ n
1866
+ x
1867
+ 7
1868
+ tmp_dir
1869
+ s
1870
+ 1
1871
+ c
1872
+ I
1873
+ 3b9aca00
1874
+ x
1875
+ 4
1876
+ rand
1877
+ x
1878
+ 4
1879
+ to_s
1880
+ s
1881
+ 4
1882
+ .log
1883
+ x
1884
+ 4
1885
+ join
1886
+ x
1887
+ 10
1888
+ Lumberjack
1889
+ n
1890
+ x
1891
+ 6
1892
+ Device
1893
+ x
1894
+ 18
1895
+ DateRollingLogFile
1896
+ x
1897
+ 3
1898
+ new
1899
+ x
1900
+ 8
1901
+ allocate
1902
+ x
1903
+ 4
1904
+ Hash
1905
+ x
1906
+ 16
1907
+ new_from_literal
1908
+ x
1909
+ 4
1910
+ roll
1911
+ x
1912
+ 7
1913
+ monthly
1914
+ x
1915
+ 3
1916
+ []=
1917
+ x
1918
+ 8
1919
+ template
1920
+ s
1921
+ 8
1922
+ :message
1923
+ x
1924
+ 10
1925
+ initialize
1926
+ n
1927
+ x
1928
+ 6
1929
+ Logger
1930
+ x
1931
+ 11
1932
+ buffer_size
1933
+ s
1934
+ 14
1935
+ test month one
1936
+ x
1937
+ 5
1938
+ error
1939
+ x
1940
+ 5
1941
+ flush
1942
+ n
1943
+ x
1944
+ 5
1945
+ stub!
1946
+ x
1947
+ 7
1948
+ one_day
1949
+ x
1950
+ 1
1951
+ *
1952
+ x
1953
+ 1
1954
+ +
1955
+ x
1956
+ 10
1957
+ and_return
1958
+ n
1959
+ s
1960
+ 14
1961
+ test month two
1962
+ x
1963
+ 5
1964
+ close
1965
+ n
1966
+ s
1967
+ 1
1968
+ .
1969
+ s
1970
+ 5
1971
+ %Y-%m
1972
+ x
1973
+ 8
1974
+ strftime
1975
+ x
1976
+ 4
1977
+ read
1978
+ x
1979
+ 6
1980
+ should
1981
+ n
1982
+ x
1983
+ 14
1984
+ LINE_SEPARATOR
1985
+ x
1986
+ 2
1987
+ ==
1988
+ n
1989
+ n
1990
+ p
1991
+ 27
1992
+ I
1993
+ 0
1994
+ I
1995
+ 32
1996
+ I
1997
+ 9
1998
+ I
1999
+ 33
2000
+ I
2001
+ 12
2002
+ I
2003
+ 34
2004
+ I
2005
+ 2e
2006
+ I
2007
+ 35
2008
+ I
2009
+ 85
2010
+ I
2011
+ 36
2012
+ I
2013
+ c4
2014
+ I
2015
+ 37
2016
+ I
2017
+ cd
2018
+ I
2019
+ 38
2020
+ I
2021
+ d3
2022
+ I
2023
+ 39
2024
+ I
2025
+ eb
2026
+ I
2027
+ 3a
2028
+ I
2029
+ fd
2030
+ I
2031
+ 3b
2032
+ I
2033
+ 106
2034
+ I
2035
+ 3c
2036
+ I
2037
+ 10c
2038
+ I
2039
+ 3e
2040
+ I
2041
+ 138
2042
+ I
2043
+ 3f
2044
+ I
2045
+ 152
2046
+ x
2047
+ 80
2048
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
2049
+ p
2050
+ 5
2051
+ x
2052
+ 5
2053
+ today
2054
+ x
2055
+ 3
2056
+ now
2057
+ x
2058
+ 8
2059
+ log_file
2060
+ x
2061
+ 6
2062
+ device
2063
+ x
2064
+ 6
2065
+ logger
2066
+ p
2067
+ 13
2068
+ I
2069
+ 0
2070
+ I
2071
+ 5
2072
+ I
2073
+ a
2074
+ I
2075
+ 9
2076
+ I
2077
+ 14
2078
+ I
2079
+ d
2080
+ I
2081
+ 1e
2082
+ I
2083
+ f
2084
+ I
2085
+ 29
2086
+ I
2087
+ 20
2088
+ I
2089
+ 34
2090
+ I
2091
+ 31
2092
+ I
2093
+ 3f
2094
+ x
2095
+ 80
2096
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
2097
+ p
2098
+ 0
2099
+ x
2100
+ 8
2101
+ describe
2102
+ p
2103
+ 5
2104
+ I
2105
+ 0
2106
+ I
2107
+ 1
2108
+ I
2109
+ 9
2110
+ I
2111
+ 3
2112
+ I
2113
+ 1a
2114
+ x
2115
+ 80
2116
+ /Users/bdurand/dev/projects/lumberjack/spec/device/date_rolling_log_file_spec.rb
2117
+ p
2118
+ 0