Class: Logger

Inherits:
Object show all
Includes:
Severity
Defined in:
opal/stdlib/logger.rb

Overview

backtick_javascript: true

Defined Under Namespace

Modules: Severity Classes: Formatter

Constant Summary collapse

SEVERITY_LABELS =
Severity.constants.map { |s| [(Severity.const_get s), s.to_s] }.to_h

Constants included from Severity

Severity::DEBUG, Severity::ERROR, Severity::FATAL, Severity::INFO, Severity::UNKNOWN, Severity::WARN

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pipe, level: DEBUG, progname: nil, formatter: nil) ⇒ Logger

Returns a new instance of Logger.



40
41
42
43
44
45
# File 'opal/stdlib/logger.rb', line 40

def initialize(pipe, level: DEBUG, progname: nil, formatter: nil)
  @pipe = pipe
  @level = level
  @formatter = formatter || Formatter.new
  @progname = progname
end

Instance Attribute Details

#formatterObject

Returns the value of attribute formatter.



38
39
40
# File 'opal/stdlib/logger.rb', line 38

def formatter
  @formatter
end

#levelObject

Returns the value of attribute level.



36
37
38
# File 'opal/stdlib/logger.rb', line 36

def level
  @level
end

#prognameObject

Returns the value of attribute progname.



37
38
39
# File 'opal/stdlib/logger.rb', line 37

def progname
  @progname
end

Instance Method Details

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



101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'opal/stdlib/logger.rb', line 101

def add(severity, message = nil, progname = nil, &block)
  return true if (severity ||= UNKNOWN) < @level
  progname ||= @progname
  unless message
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end
  @pipe.write(@formatter.call(SEVERITY_LABELS[severity] || 'ANY', ::Time.now, progname, message))
  true
end

#debug(progname = nil, &block) ⇒ Object



61
62
63
# File 'opal/stdlib/logger.rb', line 61

def debug(progname = nil, &block)
  add DEBUG, nil, progname, &block
end

#debug?Boolean

Returns:



85
86
87
# File 'opal/stdlib/logger.rb', line 85

def debug?
  @level <= DEBUG
end

#error(progname = nil, &block) ⇒ Object



69
70
71
# File 'opal/stdlib/logger.rb', line 69

def error(progname = nil, &block)
  add ERROR, nil, progname, &block
end

#error?Boolean

Returns:



93
94
95
# File 'opal/stdlib/logger.rb', line 93

def error?
  @level <= ERROR
end

#fatal(progname = nil, &block) ⇒ Object



73
74
75
# File 'opal/stdlib/logger.rb', line 73

def fatal(progname = nil, &block)
  add FATAL, nil, progname, &block
end

#fatal?Boolean

Returns:



97
98
99
# File 'opal/stdlib/logger.rb', line 97

def fatal?
  @level <= FATAL
end

#info(progname = nil, &block) ⇒ Object



57
58
59
# File 'opal/stdlib/logger.rb', line 57

def info(progname = nil, &block)
  add INFO, nil, progname, &block
end

#info?Boolean

Returns:



81
82
83
# File 'opal/stdlib/logger.rb', line 81

def info?
  @level <= INFO
end

#unknown(progname = nil, &block) ⇒ Object



77
78
79
# File 'opal/stdlib/logger.rb', line 77

def unknown(progname = nil, &block)
  add UNKNOWN, nil, progname, &block
end

#warn(progname = nil, &block) ⇒ Object



65
66
67
# File 'opal/stdlib/logger.rb', line 65

def warn(progname = nil, &block)
  add WARN, nil, progname, &block
end

#warn?Boolean

Returns:



89
90
91
# File 'opal/stdlib/logger.rb', line 89

def warn?
  @level <= WARN
end