Skip to content

Kevinqingyu/audited-mongoid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

audited-mongoid

此项目是基于 collectiveidea/audited ActiveRecord版本魔改而来 在此基础上实现了mongoid版本,且对多模型日志进行分集合存储。仅需要简单的设置即可使用。

使用方法

1.首先保证你已经安装了 mongo并启动,同时在项目中安装了 gem mongoid

gem 'mongoid', '5.4.1'

2.模型中创建 model abstract_mongodb_class.rb

class AbstractMongodbClass
end

3.模型中创建 model audited.rb 然后把项目中audited内容复制过去

4.如果你希望记录操作者可以在application_controller.rb中添加set_request_params方法,以便在线程中读取请求信息

def set_request_params
  Util.thread_cached_params[Audited::CONTROLLER_REQUEST] = request
end

模型引入

模型引入auditedmongo库中会自动创建一个集合model_audit_logs,并设置了日志的保留时间(需要在mongo中建立索引后生效) ,建立索引后日志会在到期时自动删除,而无需像ActiveRecord版本那样手动删除以减轻对mysql的压力。

class Model < ActiveRecord::Base
  MONGO_EXPIRE_AFTER_SECONDS = 30.days # mongo中日志保留时间
  include Audited # 引入审计模块
  audited  # 调用审计初始化方法
end

audited 方法使用

监控所有字段(不包含默认忽略字段, 例如:created_at updated_at...)

audited

监控单一字段

audited only: :name

监控多个字段

audited only: [:name, :address]

监控除某些字段外的所有字段

audited except: :password

About

audited-mongoid

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages