修改mcollective的audit支持syslog

修改Mcollective支持syslog輸出,同時將默認的utc時間修改爲本地時間。

module MCollective
  module RPC
    # An audit plugin that just logs to a file
    #
    # You can configure which file it logs to with the setting
    #
    #   plugin.rpcaudit.logfile

    class Logfile<Audit
      require 'pp'
      require 'syslog'

      def audit_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.dat
a.pretty_print_inspect}")
        end

        Syslog.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} da
ta=#{request.data.pretty_print_inspect}")
        end
      end
    end
  end
end


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章