lib/lamian.rb in lamian-1.2.0 vs lib/lamian.rb in lamian-1.4.0

- old
+ new

@@ -10,11 +10,16 @@ autoload :Logger, "lamian/logger" autoload :LoggerExtension, "lamian/logger_extension" autoload :Middleware, "lamian/middleware" autoload :RavenContextExtension, "lamian/raven_context_extension" autoload :SidekiqRavenMiddleware, "lamian/sidekiq_raven_middleware" + autoload :SidekiqSentryMiddleware, "lamian/sidekiq_sentry_middleware" + autoload :SemanticLoggerAppender, "lamian/semantic_logger_appender" + # The key under which logs are stored in the Sentry extra data. + SENTRY_EXTRA_KEY = :lamian_log + require "lamian/engine" class << self # Yields curent configuration if block given # @example @@ -43,20 +48,26 @@ def logger Lamian::Logger.current end # Collects logs sent inside block - def run - logger.run { yield } + def run(&block) + logger.run(&block) end # Dumps log collected in this run - # @option format [Symbol] + # @param format [Symbol] # requested format of log. At this point, returns raw log if falsey # or log without controll sequences (such as '[23m') if truthy # value given (for now) # @return formatted log (String by default) def dump(format: nil) logger.dump(format: format) + end + + # Truncates the collected log to the specified limit and dumps it. + # @return [String, nil] truncated formatted log. + def dump_limited + dump(format: :txt)&.slice(0, Lamian.config.raven_log_size_limit) end end end