Skip to content

Commit 6bcebac

Browse files
authored
level_fluent_logger: call super to improve compatibility with logger (#108)
Fix #100 ```ruby require "bundler/inline" gemfile do source "https://rubygems.org" gem "fluent-logger" #, path: "/home/watson/src/fluent-logger-ruby" gem "logger", "= 1.6.0" end f = Fluent::Logger::LevelFluentLogger.new('fluent') f.info("some application running.") p f.level ``` The compatibility has lost since logger gem v1.6.0. So, the above code causes following `NoMethodError` error. ``` $ ruby logger.rb E, [2025-09-05T18:03:49.313233 #102418] ERROR -- : Failed to connect fluentd: Connection refused - connect(2) for "localhost" port 24224 E, [2025-09-05T18:03:49.313616 #102418] ERROR -- : Connection will be retried. E, [2025-09-05T18:03:49.314104 #102418] ERROR -- : FluentLogger: Can't send logs to localhost:24224: Connection refused - connect(2) for "localhost" port 24224 /home/watson/.rbenv/versions/3.4.5/lib/ruby/gems/3.4.0/gems/logger-1.6.0/lib/logger.rb:384:in 'Logger#level': undefined method '[]' for nil (NoMethodError) @level_override[Fiber.current] || @Level ^^^^^^^^^^^^^^^ from logger.rb:10:in '<main>' ``` We should call `super` in inherited class. FYI: This problem will be fixed with logger 1.7.0 with ruby/logger@1efdf6b Signed-off-by: Shizuo Fujita <[email protected]>
1 parent 0d649a4 commit 6bcebac

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/fluent/logger/level_fluent_logger.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ module Logger
2626
class LevelFluentLogger < ::Logger
2727

2828
def initialize(tag_prefix = nil, *args)
29-
@level = ::Logger::DEBUG
29+
super(nil)
30+
3031
@default_formatter = proc do |severity, datetime, progname, message|
3132
map = { level: severity }
3233
map[:message] = message if message

0 commit comments

Comments
 (0)