1 module Puppet::Parser::Functions
2 newfunction(:validate_apache_log_level, :doc => <<-'ENDHEREDOC') do |args|
3 Perform simple validation of a string against the list of known log
4 levels as per http://httpd.apache.org/docs/current/mod/core.html#loglevel
5 validate_apache_loglevel('info')
7 Modules maybe specified with their own levels like these:
8 validate_apache_loglevel('warn ssl:info')
9 validate_apache_loglevel('warn mod_ssl.c:info')
10 validate_apache_loglevel('warn ssl_module:info')
12 Expected to be used from the main or vhost.
14 Might be used from directory too later as apaceh supports that
17 if (args.size != 1) then
18 raise Puppet::ParseError, ("validate_apache_loglevel(): wrong number of arguments (#{args.length}; must be 1)")
22 msg = "Log level '${log_level}' is not one of the supported Apache HTTP Server log levels."
24 raise Puppet::ParseError, (msg) unless log_level =~ Regexp.compile('(emerg|alert|crit|error|warn|notice|info|debug|trace[1-8])')