Module: Clavis::Logging
- Defined in:
- lib/clavis/logging.rb
Class Attribute Summary collapse
Class Method Summary collapse
-
.debug(message) ⇒ Object
Log debug messages.
-
.log(message, level = :info) ⇒ Object
The following methods are provided as aliases or for backwards compatibility.
- .log_authorization_callback(provider, success) ⇒ Object
- .log_authorization_request(provider, params) ⇒ Object
-
.log_custom(operation, success, details = nil) ⇒ Object
Log custom operation results.
-
.log_error(error) ⇒ Object
Log error messages.
-
.log_hosted_domain_verification(provider, success, details = nil) ⇒ Object
Log hosted domain verification results.
-
.log_info(message) ⇒ Object
Log informational messages.
- .log_token_exchange(provider, success, details = nil) ⇒ Object
-
.log_token_refresh(provider, success, message = nil) ⇒ Object
Older method signatures maintained for compatibility.
-
.log_token_verification(provider, success, details = nil) ⇒ Object
Log token verification results.
- .log_userinfo_request(provider, success, details = nil) ⇒ Object
-
.security_warning(message) ⇒ Object
Log security warnings - always logged at WARN level.
-
.verbose_logging? ⇒ Boolean
Check if verbose logging is enabled.
Class Attribute Details
.logger ⇒ Object
8 9 10 |
# File 'lib/clavis/logging.rb', line 8 def logger @logger ||= defined?(Rails) ? Rails.logger : Logger.new($stdout) end |
Class Method Details
.debug(message) ⇒ Object
Log debug messages
23 24 25 26 27 28 29 30 |
# File 'lib/clavis/logging.rb', line 23 def debug() return unless logger return if ! || .empty? # Sanitize any potentially sensitive data = filter_sensitive_data() logger.debug("[Clavis] #{}") end |
.log(message, level = :info) ⇒ Object
The following methods are provided as aliases or for backwards compatibility
71 72 73 74 75 76 77 78 |
# File 'lib/clavis/logging.rb', line 71 def log(, level = :info) return unless logger return if ! || .empty? # Sanitize any potentially sensitive data = filter_sensitive_data() logger.send(level, "[Clavis] #{}") end |
.log_authorization_callback(provider, success) ⇒ Object
106 107 108 109 110 |
# File 'lib/clavis/logging.rb', line 106 def (provider, success) return unless verbose_logging? log("Authorization callback for #{provider}: #{success ? "success" : "failed"}") end |
.log_authorization_request(provider, params) ⇒ Object
99 100 101 102 103 104 |
# File 'lib/clavis/logging.rb', line 99 def (provider, params) return unless verbose_logging? sanitized_params = filter_sensitive_data(params.to_s) log("Authorization request for #{provider}: #{sanitized_params}") end |
.log_custom(operation, success, details = nil) ⇒ Object
Log custom operation results
131 132 133 134 135 |
# File 'lib/clavis/logging.rb', line 131 def log_custom(operation, success, details = nil) return unless verbose_logging? log("#{operation}: #{success ? "success" : "failed"}#{details ? " - #{details}" : ""}") end |
.log_error(error) ⇒ Object
Log error messages
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/clavis/logging.rb', line 46 def log_error(error) return unless logger case error when Exception logger.error("[Clavis] #{error.class.name}: #{error.}") logger.debug("[Clavis] #{error.backtrace.join("\n")}") if error.backtrace when String logger.error("[Clavis] Error: #{error}") end end |
.log_hosted_domain_verification(provider, success, details = nil) ⇒ Object
Log hosted domain verification results
120 121 122 123 124 125 |
# File 'lib/clavis/logging.rb', line 120 def log_hosted_domain_verification(provider, success, details = nil) return unless verbose_logging? log("Hosted domain verification for #{provider}: #{success ? "success" : "failed"}" \ "#{details ? " - #{details}" : ""}") end |
.log_info(message) ⇒ Object
Log informational messages
35 36 37 38 39 40 41 42 |
# File 'lib/clavis/logging.rb', line 35 def log_info() return unless logger return if ! || .empty? # Sanitize any potentially sensitive data = filter_sensitive_data() logger.info("[Clavis] #{}") end |
.log_token_exchange(provider, success, details = nil) ⇒ Object
87 88 89 90 91 |
# File 'lib/clavis/logging.rb', line 87 def log_token_exchange(provider, success, details = nil) return unless verbose_logging? log("Token exchange for #{provider}: #{success ? "success" : "failed"}#{details ? " - #{details}" : ""}") end |
.log_token_refresh(provider, success, message = nil) ⇒ Object
Older method signatures maintained for compatibility
81 82 83 84 85 |
# File 'lib/clavis/logging.rb', line 81 def log_token_refresh(provider, success, = nil) return unless verbose_logging? log("Token refresh for #{provider}: #{success ? "success" : "failed"}#{ ? " - #{}" : ""}") end |
.log_token_verification(provider, success, details = nil) ⇒ Object
Log token verification results
113 114 115 116 117 |
# File 'lib/clavis/logging.rb', line 113 def log_token_verification(provider, success, details = nil) return unless verbose_logging? log("Token verification for #{provider}: #{success ? "success" : "failed"}#{details ? " - #{details}" : ""}") end |
.log_userinfo_request(provider, success, details = nil) ⇒ Object
93 94 95 96 97 |
# File 'lib/clavis/logging.rb', line 93 def log_userinfo_request(provider, success, details = nil) return unless verbose_logging? log("Userinfo request for #{provider}: #{success ? "success" : "failed"}#{details ? " - #{details}" : ""}") end |
.security_warning(message) ⇒ Object
Log security warnings - always logged at WARN level
60 61 62 63 64 65 66 67 |
# File 'lib/clavis/logging.rb', line 60 def security_warning() return unless logger return if ! || .empty? # Sanitize any potentially sensitive data = filter_sensitive_data() logger.warn("[Clavis Security Warning] #{}") end |
.verbose_logging? ⇒ Boolean
Check if verbose logging is enabled
15 16 17 18 19 |
# File 'lib/clavis/logging.rb', line 15 def verbose_logging? return false unless defined?(Clavis.configuration) Clavis.configuration.verbose_logging == true end |