80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/sensu/settings.rb', line 80
def load_file(file)
@logger.debug('loading config file', {
:config_file => file
})
if File.file?(file) && File.readable?(file)
begin
contents = File.open(file, 'r').read
config = Oj.load(contents, :mode => :strict)
merged = deep_merge(@settings, config)
unless @loaded_files.empty?
changes = deep_diff(@settings, merged)
@logger.warn('config file applied changes', {
:config_file => file,
:changes => redact_sensitive(changes)
})
end
@settings = merged
@indifferent_access = false
@loaded_files << file
rescue Oj::ParseError => error
@logger.error('config file must be valid json', {
:config_file => file,
:error => error.to_s
})
@logger.warn('ignoring config file', {
:config_file => file
})
end
else
@logger.error('config file does not exist or is not readable', {
:config_file => file
})
@logger.warn('ignoring config file', {
:config_file => file
})
end
end
|