Module: LogCleaner
- Defined in:
- lib/log_cleaner.rb,
lib/log_cleaner/config.rb,
lib/log_cleaner/engine.rb,
lib/log_cleaner/logger.rb,
lib/log_cleaner/version.rb,
lib/log_cleaner/request_store.rb,
lib/log_cleaner/request_logger.rb,
lib/log_cleaner/request_middleware.rb,
lib/log_cleaner/active_record_logger.rb
Overview
LogCleaner::ActiveRecordLogger is a concern for ActiveRecord models that automatically logs validation errors after the model is validated.
Features:
-
Hooks into ActiveRecord’s
after_validationcallback. -
Logs all validation errors with model name, attributes, and user context.
-
Uses LogCleaner.error to standardize log structure.
Example usage in a Rails model:
class User < ApplicationRecord
include LogCleaner::ActiveRecordLogger
end
When a User model fails validation, a structured log is sent to LogCleaner:
LogCleaner.error(
event: "model_validation_failed",
model: "User",
attributes: { name: "John", email: "invalid" },
errors: { email: ["is invalid"] },
user_id: 1
)
Defined Under Namespace
Modules: ActiveRecordLogger, RequestLogger, RequestStore Classes: Config, Engine, Logger, RequestMiddleware
Constant Summary collapse
- VERSION =
"0.1.2"
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
Class Method Summary collapse
-
.configure {|config| ... } ⇒ Object
Configuration.
- .debug(data) ⇒ Object
- .error(data) ⇒ Object
-
.info(data) ⇒ Object
Convenience methods.
-
.logger ⇒ Object
Singleton logger instance.
- .warn(data) ⇒ Object
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
37 38 39 |
# File 'lib/log_cleaner.rb', line 37 def config @config end |
Class Method Details
.configure {|config| ... } ⇒ Object
Configuration
41 42 43 44 |
# File 'lib/log_cleaner.rb', line 41 def self.configure self.config ||= Config.new yield(config) end |
.debug(data) ⇒ Object
103 104 105 |
# File 'lib/log_cleaner/logger.rb', line 103 def self.debug(data) logger.debug(data) end |
.error(data) ⇒ Object
111 112 113 |
# File 'lib/log_cleaner/logger.rb', line 111 def self.error(data) logger.error(data) end |
.info(data) ⇒ Object
Convenience methods
99 100 101 |
# File 'lib/log_cleaner/logger.rb', line 99 def self.info(data) logger.info(data) end |
.logger ⇒ Object
Singleton logger instance
94 95 96 |
# File 'lib/log_cleaner/logger.rb', line 94 def self.logger @logger ||= Logger.new end |
.warn(data) ⇒ Object
107 108 109 |
# File 'lib/log_cleaner/logger.rb', line 107 def self.warn(data) logger.warn(data) end |