def server_setup(control, err_mon, server)
unless (server.daemon) then
stdout_logger = Logger.new(@rep.fetch(:STDOUT))
case (@params['stdout_logging_level'])
when 'emerg'
stdout_logger.level = LoggingLevel::LOG_EMERG
when 'alert'
stdout_logger.level = LoggingLevel::LOG_ALERT
when 'crit'
stdout_logger.level = LoggingLevel::LOG_CRIT
when 'err'
stdout_logger.level = LoggingLevel::LOG_ERR
when 'warning'
stdout_logger.level = LoggingLevel::LOG_WARNING
when 'notice'
stdout_logger.level = LoggingLevel::LOG_NOTICE
when 'info'
stdout_logger.level = LoggingLevel::LOG_INFO
when 'debug'
stdout_logger.level = LoggingLevel::LOG_DEBUG
else
raise "unknown logging level: #{@params['stdout_logging_level'].inspect}"
end
server.add_logger(stdout_logger)
server.debug('add stdout logger.')
end
for logfile in @params['logfiles']
begin
privilege = server.privilege
if (privilege.privileged_user?) then
unless (@File.exist? logfile['path']) then
privilege.touch(logfile['path'])
end
end
output = @File.open(logfile['path'], 'a')
control.add_logfile(output)
file_logger = Logger.new(output)
case (logfile['logging_level'])
when 'emerg'
file_logger.level = LoggingLevel::LOG_EMERG
when 'alert'
file_logger.level = LoggingLevel::LOG_ALERT
when 'crit'
file_logger.level = LoggingLevel::LOG_CRIT
when 'err'
file_logger.level = LoggingLevel::LOG_ERR
when 'warning'
file_logger.level = LoggingLevel::LOG_WARNING
when 'notice'
file_logger.level = LoggingLevel::LOG_NOTICE
when 'info'
file_logger.level = LoggingLevel::LOG_INFO
when 'debug'
file_logger.level = LoggingLevel::LOG_DEBUG
else
raise "unknown logging level: #{logfile['logging_level'].inspect}"
end
server.add_logger(file_logger)
server.debug("open #{logfile['path'].inspect} logger.")
rescue StandardError, ScriptError
err_mon.capture_logging_error($!, logfile['path'])
server.err("error: not opened #{logfile['path'].inspect}: (#{$!.class}) #{$!}")
end
end
nil
end