Class: Julewire::Rails::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/julewire/rails/logger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name: "Rails", source: "rails") ⇒ Logger

Returns a new instance of Logger.



15
16
17
18
19
20
# File 'lib/julewire/rails/logger.rb', line 15

def initialize(name: "Rails", source: "rails")
  @level = ::Logger::DEBUG
  @progname = name
  @source = source
  @local_level_key = :"julewire_rails_logger_level_#{object_id}"
end

Instance Attribute Details

#datetime_formatObject

Returns the value of attribute datetime_format.



13
14
15
# File 'lib/julewire/rails/logger.rb', line 13

def datetime_format
  @datetime_format
end

#formatterObject

Returns the value of attribute formatter.



13
14
15
# File 'lib/julewire/rails/logger.rb', line 13

def formatter
  @formatter
end

#prognameObject

Returns the value of attribute progname.



13
14
15
# File 'lib/julewire/rails/logger.rb', line 13

def progname
  @progname
end

Instance Method Details

#<<(message) ⇒ Object



32
33
34
# File 'lib/julewire/rails/logger.rb', line 32

def <<(message)
  add(::Logger::UNKNOWN, message)
end

#add(severity, message = nil, progname = nil) ⇒ Object

rubocop:disable Naming/PredicateMethod – Logger API.



22
23
24
25
26
27
28
29
30
# File 'lib/julewire/rails/logger.rb', line 22

def add(severity, message = nil, progname = nil) # rubocop:disable Naming/PredicateMethod -- Logger API.
  severity ||= ::Logger::UNKNOWN
  return true if severity < level
  return true if Suppression.active?

  message, progname = resolve_message_and_progname(message, progname) { block_given? ? yield : nil }
  Core::RuntimeLocator.current.emit_without_level(record_for(severity, message, progname))
  true
end

#closeObject



98
# File 'lib/julewire/rails/logger.rb', line 98

def close = flush

#debug(progname = nil) ⇒ Object



36
# File 'lib/julewire/rails/logger.rb', line 36

def debug(progname = nil, &) = add(::Logger::DEBUG, nil, progname, &)

#debug!Object



60
# File 'lib/julewire/rails/logger.rb', line 60

def debug! = self.level = ::Logger::DEBUG

#debug?Boolean

Returns:

  • (Boolean)


48
# File 'lib/julewire/rails/logger.rb', line 48

def debug? = level <= ::Logger::DEBUG

#error(progname = nil) ⇒ Object



42
# File 'lib/julewire/rails/logger.rb', line 42

def error(progname = nil, &) = add(::Logger::ERROR, nil, progname, &)

#error!Object



66
# File 'lib/julewire/rails/logger.rb', line 66

def error! = self.level = ::Logger::ERROR

#error?Boolean

Returns:

  • (Boolean)


54
# File 'lib/julewire/rails/logger.rb', line 54

def error? = level <= ::Logger::ERROR

#fatal(progname = nil) ⇒ Object



44
# File 'lib/julewire/rails/logger.rb', line 44

def fatal(progname = nil, &) = add(::Logger::FATAL, nil, progname, &)

#fatal!Object



68
# File 'lib/julewire/rails/logger.rb', line 68

def fatal! = self.level = ::Logger::FATAL

#fatal?Boolean

Returns:

  • (Boolean)


56
# File 'lib/julewire/rails/logger.rb', line 56

def fatal? = level <= ::Logger::FATAL

#flushObject



102
103
104
105
# File 'lib/julewire/rails/logger.rb', line 102

def flush
  formatter.clear_tags! if formatter.respond_to?(:clear_tags!)
  Julewire.flush
end

#info(progname = nil) ⇒ Object



38
# File 'lib/julewire/rails/logger.rb', line 38

def info(progname = nil, &) = add(::Logger::INFO, nil, progname, &)

#info!Object



62
# File 'lib/julewire/rails/logger.rb', line 62

def info! = self.level = ::Logger::INFO

#info?Boolean

Returns:

  • (Boolean)


50
# File 'lib/julewire/rails/logger.rb', line 50

def info? = level <= ::Logger::INFO

#initialize_copy(other) ⇒ Object



107
108
109
110
111
# File 'lib/julewire/rails/logger.rb', line 107

def initialize_copy(other)
  super
  @progname = other.progname.is_a?(String) ? other.progname.dup : other.progname
  @local_level_key = :"julewire_rails_logger_level_#{object_id}"
end

#levelObject



70
71
72
# File 'lib/julewire/rails/logger.rb', line 70

def level
  local_level || @level
end

#level=(value) ⇒ Object



74
75
76
# File 'lib/julewire/rails/logger.rb', line 74

def level=(value)
  @level = normalize_level(value)
end

#local_levelObject



78
79
80
# File 'lib/julewire/rails/logger.rb', line 78

def local_level
  ::ActiveSupport::IsolatedExecutionState[@local_level_key]
end

#local_level=(value) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/julewire/rails/logger.rb', line 82

def local_level=(value)
  if value.nil?
    ::ActiveSupport::IsolatedExecutionState.delete(@local_level_key)
  else
    ::ActiveSupport::IsolatedExecutionState[@local_level_key] = normalize_level(value)
  end
end

#reopenObject



100
# File 'lib/julewire/rails/logger.rb', line 100

def reopen(*) = flush

#silence(severity = ::Logger::ERROR) ⇒ Object



90
91
92
93
94
95
96
# File 'lib/julewire/rails/logger.rb', line 90

def silence(severity = ::Logger::ERROR)
  previous_level = local_level
  self.local_level = severity
  yield self
ensure
  self.local_level = previous_level
end

#unknown(progname = nil) ⇒ Object



46
# File 'lib/julewire/rails/logger.rb', line 46

def unknown(progname = nil, &) = add(::Logger::UNKNOWN, nil, progname, &)

#unknown?Boolean

Returns:

  • (Boolean)


58
# File 'lib/julewire/rails/logger.rb', line 58

def unknown? = level <= ::Logger::UNKNOWN

#warn(progname = nil) ⇒ Object



40
# File 'lib/julewire/rails/logger.rb', line 40

def warn(progname = nil, &) = add(::Logger::WARN, nil, progname, &)

#warn!Object



64
# File 'lib/julewire/rails/logger.rb', line 64

def warn! = self.level = ::Logger::WARN

#warn?Boolean

Returns:

  • (Boolean)


52
# File 'lib/julewire/rails/logger.rb', line 52

def warn? = level <= ::Logger::WARN