X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=lib%2Fmcollective%2Frpc%2Faudit.rb;fp=lib%2Fmcollective%2Frpc%2Faudit.rb;h=72924220538be7cae3a50f679e140eace2c1d0f6;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/lib/mcollective/rpc/audit.rb b/lib/mcollective/rpc/audit.rb new file mode 100644 index 0000000..7292422 --- /dev/null +++ b/lib/mcollective/rpc/audit.rb @@ -0,0 +1,38 @@ +module MCollective + module RPC + # Auditing of requests is done only for SimpleRPC requests, you provide + # a plugin in the MCollective::Audit::* namespace which the SimpleRPC + # framework calls for each message + # + # We provide a simple one that logs to a logfile in the class + # MCollective::Audit::Logfile you can create your own: + # + # Create a class in plugins/mcollective/audit/.rb + # + # You must inherit from MCollective::RPC::Audit which will take + # care of registering you with the plugin system. + # + # Your plugin must provide audit_request(request, connection) + # the request parameter will be an instance of MCollective::RPC::Request + # + # To enable auditing you should set: + # + # rpcaudit = 1 + # rpcauditprovider = Logfile + # + # in the config file this will enable logging using the + # MCollective::Audit::Logile class + # + # The Audit class acts as a base for audit plugins and takes care of registering them + # with the plugin manager + class Audit + def self.inherited(klass) + PluginManager << {:type => "rpcaudit_plugin", :class => klass.to_s} + end + + def audit_request(request, connection) + @log.error("audit_request is not implimented in #{this.class}") + end + end + end +end