Skip to content

Commit 969bb8b

Browse files
committed
Fix bug that log level in system config doesn't affect
Signed-off-by: Yuta Iwama <[email protected]>
1 parent 340d1aa commit 969bb8b

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

lib/fluent/supervisor.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ def build_system_config(conf)
780780
opt = {}
781781
Fluent::SystemConfig::SYSTEM_CONFIG_PARAMETERS.each do |param|
782782
if @cl_opt.key?(param) && !@cl_opt[param].nil?
783-
if param == :log_level && opt[:log_level] == Fluent::Log::LEVEL_INFO
783+
if param == :log_level && @cl_opt[:log_level] == Fluent::Log::LEVEL_INFO
784784
# info level can't be specified via command line option.
785785
# log_level is info here, it is default value and <system>'s log_level should be applied if exists.
786786
next

lib/fluent/system_config.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class SystemConfig
3232

3333
config_param :workers, :integer, default: 1
3434
config_param :root_dir, :string, default: nil
35-
config_param :log_level, :enum, list: [:trace, :debug, :info, :warn, :error, :fatal], default: nil
35+
config_param :log_level, :enum, list: [:trace, :debug, :info, :warn, :error, :fatal], default: 'info'
3636
config_param :suppress_repeated_stacktrace, :bool, default: nil
3737
config_param :emit_error_log_interval, :time, default: nil
3838
config_param :suppress_config_dump, :bool, default: nil

test/test_supervisor.rb

+11
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,17 @@ def test_inline_config
423423
assert_equal inline_config, sv.instance_variable_get(:@inline_config)
424424
end
425425

426+
def test_log_level_affects
427+
opts = Fluent::Supervisor.default_options
428+
sv = Fluent::Supervisor.new(opts)
429+
430+
c = Fluent::Config::Element.new('system', '', { 'log_level' => 'error' }, [])
431+
stub(sv).read_config { config_element('ROOT', '', {}, [c]) }
432+
433+
sv.configure
434+
assert_equal Fluent::Log::LEVEL_ERROR, $log.level
435+
end
436+
426437
def create_debug_dummy_logger
427438
dl_opts = {}
428439
dl_opts[:log_level] = ServerEngine::DaemonLogger::DEBUG

0 commit comments

Comments
 (0)