Puppet Function: format_log
- Defined in:
- lib/puppet/parser/functions/format_log.rb
- Function type:
- Ruby 3.x API
Overview
format_log( options ):
2 3 4 5 6 7 8 9 10 11 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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/puppet/parser/functions/format_log.rb', line 2 newfunction(:format_log, :type => :rvalue,:doc => <<-EOS format_log( options ): EOS ) do |args| syslog_priorities = { 'emerg' => '0', 'panic' => '0', 'alert' => '1', 'crit' => '2', 'err' => '3', 'error' => '3', 'warn' => '4', 'warning' => '4', 'notice' => '5', 'info' => '6', 'debug' => '7', } raise Puppet::ParseError, "input must be an anonymous array" \ unless args.is_a?(Array) return '' unless args[0] != nil raise Puppet::ParseError, "input must be hash table" \ unless args[0].is_a?(Hash) opts = args[0] unless args[0] == nil log_opts = Array.new # ## log_level option # loglevel = [] loglevel = opts['log_level'].split('.') unless opts['log_level'] == nil if loglevel.size == 1 # we were just passed the log level, if it's a text version, convert it to # numeric loglevel[0] = syslog_priorities[loglevel[0]] \ if syslog_priorities.has_key?(loglevel[0]) # make sure it's a valid syslog priority raise Puppet::ParseError, "invalid log level passed - #{loglevel[0]}" \ unless syslog_priorities.has_value?(String(loglevel[0])) log_opts.push("--log-level #{loglevel[0]}") elsif loglevel.size == 0 # no log_level info was passed, we can move on else raise Puppet::ParseError, \ "invalid log level passed - #{opts['log_level']}" end # ## log_prefix options # logprefix = '' logprefix = opts['log_prefix'] unless opts['log_prefix'] == nil if logprefix.size == 0 # do nothing elsif logprefix.size > 0 # push the first 29 characters, giving a warning if we trimmed some log_opts.push("--log-prefix \"" + logprefix.scan(/^.{1,29}/)[0] + "\"") function_warning(["log prefix \"#{logprefix}\" exceeds 29 characters." \ + " Truncating chars beyond 29"]) if logprefix.size > 29 end # ## log_tcp_options option # log_opts.push('--log-tcp-options') if opts['log_tcp_options'] # ## log_ip_options option # log_opts.push('--log-ip-options') if opts['log_ip_options'] # ## log_uid option # log_opts.push('--log-uid') if opts['log_uid'] # ## log_tcp_sequence # log_opts.push('--log-tcp-sequence') if opts['log_tcp_sequence'] return log_opts.join(' ') end |