class ZgcpToolkit::Logger
Constants
- AVAILABLE_LOGGERS
- DEFAULT_BACKTRACE_LIMIT
- REGEX_VALID_NAME
Attributes
backtrace_limit[RW]
log_name[R]
loggers[R]
Public Class Methods
create(log_name) { |logger| ... }
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 26 def create(log_name) raise InvalidLogName, "Log name is invalid. Log name regex is #{REGEX_VALID_NAME.inspect}" unless valid_name?(log_name.to_s) logger = Logger.new(log_name.to_s) begin yield(logger) if block_given? rescue StandardError => e Google::Cloud::ErrorReporting.report e end logger end
new(log_name)
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 61 def initialize(log_name) @log_name = log_name @backtrace_limit = DEFAULT_BACKTRACE_LIMIT @loggers = ZgcpToolkit::Logger.registered_loggers.map { |logger| logger.new(log_name) } end
report_error_request(error, request)
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 40 def report_error_request(error, request) message = ZgcpToolkit::Formatter::Request.new.format_for_report(request) Google::Cloud::ErrorReporting.report error do |event| event.message = event.message + "\n\n" + message end end
Private Class Methods
valid_name?(log_name)
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 50 def valid_name?(log_name) return true if log_name.match(REGEX_VALID_NAME) false end
Public Instance Methods
error_request(error, request, **args)
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 88 def error_request(error, request, **args) filter_request_params = ZgcpToolkit::Formatter::Request.new.call(request) error({ message: error.message, backtrace: error.backtrace.first(backtrace_limit) }.merge!(filter_request_params).merge!(args)) end
flush!()
click to toggle source
# File lib/zgcp_toolkit/logger.rb, line 94 def flush! loggers.each { |a| a.flush! } end