File tree Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Expand file tree Collapse file tree 2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change @@ -6,10 +6,21 @@ class << self
66 end
77
88 class MultiLogger < BasicObject
9+ def initialize ( *loggers , level : ::Logger ::DEBUG )
10+ @loggers = loggers
11+ @level = level
12+ end
13+
914 attr_reader :loggers
1015
11- def initialize ( *loggers )
12- @loggers = loggers
16+ attr_reader :level
17+
18+ def level = ( new_level )
19+ p :ahi
20+ @loggers . each do |l |
21+ l . level = new_level
22+ end
23+ @level = new_level
1324 end
1425
1526 def method_missing ( name , *args , &b )
Original file line number Diff line number Diff line change @@ -8,4 +8,17 @@ def test_multilogger
88 assert_match 'bad thing' , out . string
99 assert_match 'bad thing' , err . string
1010 end
11+
12+ def test_level
13+ out , err = StringIO . new , StringIO . new
14+ logger = IRuby ::MultiLogger . new ( Logger . new ( out ) , Logger . new ( err ) )
15+
16+ logger . level = Logger ::DEBUG
17+ assert_equal Logger ::DEBUG , logger . level
18+ assert_all ( logger . loggers ) { |l | l . level == Logger ::DEBUG }
19+
20+ logger . level = Logger ::INFO
21+ assert_equal Logger ::INFO , logger . level
22+ assert_all ( logger . loggers ) { |l | l . level == Logger ::INFO }
23+ end
1124end
You can’t perform that action at this time.
0 commit comments