lumberjack 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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