Skip to content

Commit 8df1086

Browse files
authored
console_adapter: support console gem v1.30 (#4857)
**Which issue(s) this PR fixes**: Fixes # **What this PR does / why we need it**: This patch will fix following error: ``` NoMethodError: undefined method `seek' for nil:NilClass /home/runner/work/fluentd/fluentd/lib/fluent/log/console_adapter.rb:61:in `call' /opt/hostedtoolcache/Ruby/3.2.7/x64/lib/ruby/gems/3.2.0/gems/console-1.30.0/lib/console/output/wrapper.rb:35:in `call' /opt/hostedtoolcache/Ruby/3.2.7/x64/lib/ruby/gems/3.2.0/gems/console-1.30.0/lib/console/output/failure.rb:38:in `call' /opt/hostedtoolcache/Ruby/3.2.7/x64/lib/ruby/gems/3.2.0/gems/console-1.30.0/lib/console/filter.rb:48:in `block (3 levels) in []' /home/runner/work/fluentd/fluentd/test/log/test_console_adapter.rb:58:in `test_args' ``` Ref. https://github.com/fluent/fluentd/actions/runs/13714056838 The variable name was changed at socketry/console@1529fef#diff-757206aeb67c0bd1c0d1813dfbff0a140a68920505520e8163b3a274fbab05ceR30 Since now Fluentd assumes Ruby 3.2 or later, this discards the related code to support Ruby before v3.1. **Docs Changes**: Not needed. **Release Note**: The same as the title. Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
1 parent 3a4ef4c commit 8df1086

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

fluentd.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ Gem::Specification.new do |gem|
6666
gem.add_development_dependency("test-unit-rr", ["~> 1.0"])
6767
gem.add_development_dependency("oj", [">= 2.14", "< 4"])
6868
gem.add_development_dependency("async-http", "~> 0.86")
69+
gem.add_development_dependency("console", "~> 1.30")
6970
gem.add_development_dependency("aws-sigv4", ["~> 1.8"])
7071
gem.add_development_dependency("aws-sdk-core", ["~> 3.191"])
7172
gem.add_development_dependency("rexml", ["~> 3.2"])

lib/fluent/log/console_adapter.rb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ class Log
2121
# Async gem which is used by http_server helper switched logger mechanism to
2222
# Console gem which isn't complatible with Ruby's standard Logger (since
2323
# v1.17). This class adapts it to Fluentd's logger mechanism.
24-
class ConsoleAdapter < Gem::Version.new(Console::VERSION) >= Gem::Version.new("1.25") ?
25-
Console::Output::Terminal : Console::Terminal::Logger
26-
24+
class ConsoleAdapter < Console::Output::Terminal
2725
def self.wrap(logger)
2826
_, level = Console::Logger::LEVELS.find { |key, value|
2927
if logger.level <= 0
@@ -58,10 +56,10 @@ def call(subject = nil, *arguments, name: nil, severity: 'info', **options, &blo
5856
level = 'warn'
5957
end
6058

61-
@io.seek(0)
62-
@io.truncate(0)
59+
@stream.seek(0)
60+
@stream.truncate(0)
6361
super
64-
@logger.send(level, @io.string.chomp)
62+
@logger.send(level, @stream.string.chomp)
6563
end
6664
end
6765
end

0 commit comments

Comments
 (0)