Module: SmartLoggerWrapper::Utils::Backtrace
- Included in:
- Options::AppendBacktrace, Options::WithPosition
- Defined in:
- lib/smart_logger_wrapper/utils/backtrace.rb
Class Method Summary collapse
- .clean_backtrace(backtrace, keeps_first: true) ⇒ Object
- .get_backtrace(start, length = nil) ⇒ Object
Class Method Details
.clean_backtrace(backtrace, keeps_first: true) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/smart_logger_wrapper/utils/backtrace.rb', line 15 def clean_backtrace(backtrace, keeps_first: true) ( if defined?(::Rails) && ::Rails.respond_to?(:backtrace_cleaner) if keeps_first head, *tail = backtrace [head] + Rails.backtrace_cleaner.filter(tail) else Rails.backtrace_cleaner.filter(backtrace) end else backtrace end ).map { |line| Path.trim_dirname(line) } end |
.get_backtrace(start, length = nil) ⇒ Object
9 10 11 12 13 |
# File 'lib/smart_logger_wrapper/utils/backtrace.rb', line 9 def get_backtrace(start, length = nil) # add 1 to `start` because this method dug the backtrace by 1 backtrace = clean_backtrace(caller(start + 1)) length == nil ? backtrace.to_a : backtrace.first(length) end |