0
Ich versuche, meine eigenen Exception
für getaggten Protokollierung zu bauen:Rails - individuelle Ausnahmen (Fehler)
module Exceptions
class GeneralException < StandardError
LOGGER_NAME = 'Base'
def initialize(message)
@logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
@logger.tagged(get_logger_name) { @logger.error message }
@message = message
end
def get_logger_name
self.class::LOGGER_NAME
end
end
class InvalidDataException < GeneralException; end
class SecurityException < GeneralException
LOGGER_NAME = 'Security'
end
class ElasticSearchException < GeneralException
LOGGER_NAME = 'Elastic'
end
end
Ich erwarte mit dieser neuen Ausnahme nennen zu können:
raise Exceptions::SecurityException "Something security related happened.
Das Problem ist, dass, wenn ich das nenne ich:
NoMethodError: undefined method 'SecurityException' for Exceptions:Module
Irgendeine Idee, wie man diesen Fehler richtig anhebt?
Security ist keine Methode. Es ist eine Klasse. Sie müssen es zuerst instanziieren und die Nachricht weitergeben. – jemonsanto