12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/puppet/parser/functions/yaml_to_log4j.rb', line 12
newfunction(:yaml_to_log4j, :type => :rvalue) do |args|
raise Puppet::ParseError, 'Wrong parameter type. yaml_to_log4j takes a Hash as single parameter.' unless args[0].is_a? Hash
configfiles = args[0]
loggers = {}
appenders = {}
console_appenders = {}
rolling_file_appenders = {}
file_appenders = {}
configfiles.each do |key, value|
loggers.merge!(value.delete('loggers').each { |logger,attributes| attributes['path'] = key.to_s})
appenders.merge!(value.delete('appenders').each { |appender,attributes| attributes['path'] = key.to_s})
end
appenders.each do |key,value|
console_appenders[key] = appenders[key] if value['type'] =~ /^console$/i
rolling_file_appenders[key] = appenders[key] if value['type'] =~ /^rollingfile$/i
file_appenders[key] = appenders[key] if value['type'] =~ /^file$/i
appenders[key].delete('type')
end
[configfiles, loggers, console_appenders, file_appenders, rolling_file_appenders]
end
|