Module: Dapp::Dapp::Logging::Base

Included in:
Dapp::Dapp
Defined in:
lib/dapp/dapp/logging/base.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
# File 'lib/dapp/dapp/logging/base.rb', line 6

def included(base)
  base.send(:extend, ClassMethods)
end

Instance Method Details

#dev_mode?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/dapp/dapp/logging/base.rb', line 45

def dev_mode?
  option_dev
end

#dry_run?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/dapp/dapp/logging/base.rb', line 41

def dry_run?
  option_dry_run
end

#ignore_config_warning?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/dapp/dapp/logging/base.rb', line 29

def ignore_config_warning?
  !!options[:ignore_config_warning]
end

#introspect_before_error?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/dapp/dapp/logging/base.rb', line 37

def introspect_before_error?
  !!options[:introspect_before_error]
end

#introspect_error?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/dapp/dapp/logging/base.rb', line 33

def introspect_error?
  !!options[:introspect_error]
end

#log(message = '', desc: nil, inline: false, stream: $stdout, **kwargs) ⇒ Object



89
90
91
92
93
94
95
96
# File 'lib/dapp/dapp/logging/base.rb', line 89

def log(message = '', desc: nil, inline: false, stream: $stdout, **kwargs)
  return if log_quiet?
  unless desc.nil?
    (desc[:data] ||= {})[:msg] = message
    message = t(**desc)
  end
  stream.print "#{log_format_string(message, **kwargs)}#{"\n" unless inline}"
end

#log_config_warning(*args, **kwargs) ⇒ Object



84
85
86
87
# File 'lib/dapp/dapp/logging/base.rb', line 84

def log_config_warning(*args, **kwargs)
  return if ignore_config_warning?
  log_warning(*args, **kwargs)
end

#log_dimg_name_with_indent(dimg, &blk) ⇒ Object



54
55
56
57
# File 'lib/dapp/dapp/logging/base.rb', line 54

def log_dimg_name_with_indent(dimg, &blk)
  return yield if dimg._name.nil?
  log_step_with_indent(dimg._name, &blk)
end

#log_format_string(str, time: true, indent: true, style: nil) ⇒ Object



102
103
104
105
106
107
# File 'lib/dapp/dapp/logging/base.rb', line 102

def log_format_string(str, time: true, indent: true, style: nil)
  str.to_s.lines.map do |line|
    line = paint_string(line, style) if style
    "#{log_time if time && log_time?}#{indent ? (log_indent + line) : line}"
  end.join
end

#log_indentObject



116
117
118
# File 'lib/dapp/dapp/logging/base.rb', line 116

def log_indent
  ' ' * 2 * log_indent_size
end

#log_indent_nextObject



120
121
122
# File 'lib/dapp/dapp/logging/base.rb', line 120

def log_indent_next
  self.log_indent_size += 1
end

#log_indent_prevObject



124
125
126
127
128
129
130
# File 'lib/dapp/dapp/logging/base.rb', line 124

def log_indent_prev
  if self.log_indent_size <= 0
    self.log_indent_size = 0
  else
    self.log_indent_size -= 1
  end
end

#log_info(*args, **kwargs) ⇒ Object



49
50
51
52
# File 'lib/dapp/dapp/logging/base.rb', line 49

def log_info(*args, **kwargs)
  kwargs[:style] = :info
  log(*args, **kwargs)
end

#log_quiet?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/dapp/dapp/logging/base.rb', line 17

def log_quiet?
  option_quiet
end

#log_secondary(*args, **kwargs) ⇒ Object



69
70
71
72
# File 'lib/dapp/dapp/logging/base.rb', line 69

def log_secondary(*args, **kwargs)
  kwargs[:style] = :secondary
  log(*args, **kwargs)
end

#log_step(*args, **kwargs) ⇒ Object



64
65
66
67
# File 'lib/dapp/dapp/logging/base.rb', line 64

def log_step(*args, **kwargs)
  kwargs[:style] = :step
  log(*args, **kwargs)
end

#log_step_with_indent(step) ⇒ Object



59
60
61
62
# File 'lib/dapp/dapp/logging/base.rb', line 59

def log_step_with_indent(step)
  log_step(step)
  with_log_indent { yield }
end

#log_timeObject



98
99
100
# File 'lib/dapp/dapp/logging/base.rb', line 98

def log_time
  self.class.log_time
end

#log_time?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/dapp/dapp/logging/base.rb', line 21

def log_time?
  option_time
end

#log_verbose?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/dapp/dapp/logging/base.rb', line 25

def log_verbose?
  option_verbose
end

#log_warning(*args, **kwargs) ⇒ Object



74
75
76
77
78
79
80
81
82
# File 'lib/dapp/dapp/logging/base.rb', line 74

def log_warning(*args, **kwargs)
  kwargs[:style] = :warning
  kwargs[:stream] ||= $stderr
  if args.empty?
    kwargs[:desc] ||= {}
    kwargs[:desc][:context] ||= :warning
  end
  log(*args, **kwargs)
end

#service_streamObject



132
133
134
135
136
137
138
139
140
# File 'lib/dapp/dapp/logging/base.rb', line 132

def service_stream
  @@service_stream ||= begin
    fd = IO.sysopen("/tmp/dapp-service.log", "a")

    stream = IO.new(fd)
    stream.sync = true
    stream
  end
end

#with_log_indent(with = true) ⇒ Object



109
110
111
112
113
114
# File 'lib/dapp/dapp/logging/base.rb', line 109

def with_log_indent(with = true)
  log_indent_next if with
  yield
ensure
  log_indent_prev if with
end