修改Mcollective支持syslog输出,同时将默认的utc时间修改为本地时间。

moduleMCollectivemoduleRPC#Anauditpluginthatjustlogstoafile##Youcanconfigurewhichfileitlogstowiththesetting##plugin.rpcaudit.logfileclassLogfile<Auditrequire'pp'require'syslog'defaudit_request(request,connection)logfile=Config.instance.pluginconf["rpcaudit.logfile"]||"/var/log/mcollective-audit.log"now=Time.now.strftime("%F%X")File.open(logfile,"a")do|f|f.puts("[#{now}]reqid=#{request.uniqid}:reqtime=#{request.time}caller=#{request.caller}@#{request.sender}agent=#{request.agent}action=#{request.action}data=#{request.data.pretty_print_inspect}")endSyslog.open('mcollective',Syslog::LOG_PID,Syslog::LOG_LOCAL4)do|f|f.log(Syslog::LOG_INFO,"[#{now}]reqid=#{request.uniqid}:reqtime=#{request.time}caller=#{request.caller}@#{request.sender}agent=#{request.agent}action=#{request.action}data=#{request.data.pretty_print_inspect}")endendendendend