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
- #dev_mode? ⇒ Boolean
- #dry_run? ⇒ Boolean
- #ignore_config_warning? ⇒ Boolean
- #introspect_before_error? ⇒ Boolean
- #introspect_error? ⇒ Boolean
- #log(message = '', desc: nil, inline: false, stream: $stdout, **kwargs) ⇒ Object
- #log_config_warning(*args, **kwargs) ⇒ Object
- #log_dimg_name_with_indent(dimg, &blk) ⇒ Object
- #log_format_string(str, time: true, indent: true, style: nil) ⇒ Object
- #log_indent ⇒ Object
- #log_indent_next ⇒ Object
- #log_indent_prev ⇒ Object
- #log_info(*args, **kwargs) ⇒ Object
- #log_quiet? ⇒ Boolean
- #log_secondary(*args, **kwargs) ⇒ Object
- #log_step(*args, **kwargs) ⇒ Object
- #log_step_with_indent(step) ⇒ Object
- #log_time ⇒ Object
- #log_time? ⇒ Boolean
- #log_verbose? ⇒ Boolean
- #log_warning(*args, **kwargs) ⇒ Object
- #service_stream ⇒ Object
- #with_log_indent(with = true) ⇒ Object
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
45 46 47 |
# File 'lib/dapp/dapp/logging/base.rb', line 45 def dev_mode? option_dev end |
#dry_run? ⇒ Boolean
41 42 43 |
# File 'lib/dapp/dapp/logging/base.rb', line 41 def dry_run? option_dry_run end |
#ignore_config_warning? ⇒ Boolean
29 30 31 |
# File 'lib/dapp/dapp/logging/base.rb', line 29 def ignore_config_warning? !![:ignore_config_warning] end |
#introspect_before_error? ⇒ Boolean
37 38 39 |
# File 'lib/dapp/dapp/logging/base.rb', line 37 def introspect_before_error? !![:introspect_before_error] end |
#introspect_error? ⇒ Boolean
33 34 35 |
# File 'lib/dapp/dapp/logging/base.rb', line 33 def introspect_error? !![: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( = '', desc: nil, inline: false, stream: $stdout, **kwargs) return if log_quiet? unless desc.nil? (desc[:data] ||= {})[:msg] = = t(**desc) end stream.print "#{log_format_string(, **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_indent ⇒ Object
116 117 118 |
# File 'lib/dapp/dapp/logging/base.rb', line 116 def log_indent ' ' * 2 * log_indent_size end |
#log_indent_next ⇒ Object
120 121 122 |
# File 'lib/dapp/dapp/logging/base.rb', line 120 def log_indent_next self.log_indent_size += 1 end |
#log_indent_prev ⇒ Object
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
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_time ⇒ Object
98 99 100 |
# File 'lib/dapp/dapp/logging/base.rb', line 98 def log_time self.class.log_time end |
#log_time? ⇒ Boolean
21 22 23 |
# File 'lib/dapp/dapp/logging/base.rb', line 21 def log_time? option_time end |
#log_verbose? ⇒ 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_stream ⇒ Object
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 |