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