Module: Dapp::Project::Logging::Base
- Included in:
- Dapp::Project
- Defined in:
- lib/dapp/project/logging/base.rb
Overview
Base
Class Method Summary collapse
Instance Method Summary collapse
- #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
- #log_with_indent(message = '', **kwargs) ⇒ Object
- #with_log_indent(with = true) ⇒ Object
Class Method Details
.included(base) ⇒ Object
128 129 130 |
# File 'lib/dapp/project/logging/base.rb', line 128 def included(base) base.extend(self) end |
Instance Method Details
#dry_run? ⇒ Boolean
32 33 34 |
# File 'lib/dapp/project/logging/base.rb', line 32 def dry_run? [:dry_run] end |
#ignore_config_warning? ⇒ Boolean
20 21 22 |
# File 'lib/dapp/project/logging/base.rb', line 20 def ignore_config_warning? [:ignore_config_warning] end |
#introspect_before_error? ⇒ Boolean
28 29 30 |
# File 'lib/dapp/project/logging/base.rb', line 28 def introspect_before_error? [:introspect_before_error] end |
#introspect_error? ⇒ Boolean
24 25 26 |
# File 'lib/dapp/project/logging/base.rb', line 24 def introspect_error? [:introspect_error] end |
#log(message = '', desc: nil, inline: false, stream: $stdout, **kwargs) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/dapp/project/logging/base.rb', line 78 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
73 74 75 76 |
# File 'lib/dapp/project/logging/base.rb', line 73 def log_config_warning(*args, **kwargs) return if ignore_config_warning? log_warning(*args, **kwargs) end |
#log_dimg_name_with_indent(dimg, &blk) ⇒ Object
41 42 43 44 |
# File 'lib/dapp/project/logging/base.rb', line 41 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
91 92 93 94 95 96 |
# File 'lib/dapp/project/logging/base.rb', line 91 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
111 112 113 |
# File 'lib/dapp/project/logging/base.rb', line 111 def log_indent ' ' * 2 * log_indent_size end |
#log_indent_next ⇒ Object
115 116 117 |
# File 'lib/dapp/project/logging/base.rb', line 115 def log_indent_next self.log_indent_size += 1 end |
#log_indent_prev ⇒ Object
119 120 121 122 123 124 125 |
# File 'lib/dapp/project/logging/base.rb', line 119 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
36 37 38 39 |
# File 'lib/dapp/project/logging/base.rb', line 36 def log_info(*args, **kwargs) kwargs[:style] = :info log(*args, **kwargs) end |
#log_quiet? ⇒ Boolean
8 9 10 |
# File 'lib/dapp/project/logging/base.rb', line 8 def log_quiet? [:log_quiet] end |
#log_secondary(*args, **kwargs) ⇒ Object
58 59 60 61 |
# File 'lib/dapp/project/logging/base.rb', line 58 def log_secondary(*args, **kwargs) kwargs[:style] = :secondary log(*args, **kwargs) end |
#log_step(*args, **kwargs) ⇒ Object
53 54 55 56 |
# File 'lib/dapp/project/logging/base.rb', line 53 def log_step(*args, **kwargs) kwargs[:style] = :step log(*args, **kwargs) end |
#log_step_with_indent(step) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/dapp/project/logging/base.rb', line 46 def log_step_with_indent(step) log_step(step) with_log_indent do yield end end |
#log_time ⇒ Object
87 88 89 |
# File 'lib/dapp/project/logging/base.rb', line 87 def log_time "#{DateTime.now.strftime('%Y-%m-%dT%T%z')} " end |
#log_time? ⇒ Boolean
12 13 14 |
# File 'lib/dapp/project/logging/base.rb', line 12 def log_time? [:log_time] end |
#log_verbose? ⇒ Boolean
16 17 18 |
# File 'lib/dapp/project/logging/base.rb', line 16 def log_verbose? [:log_verbose] end |
#log_warning(*args, **kwargs) ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'lib/dapp/project/logging/base.rb', line 63 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 |
#log_with_indent(message = '', **kwargs) ⇒ Object
98 99 100 101 102 |
# File 'lib/dapp/project/logging/base.rb', line 98 def log_with_indent( = '', **kwargs) with_log_indent do log(, **kwargs) end end |
#with_log_indent(with = true) ⇒ Object
104 105 106 107 108 109 |
# File 'lib/dapp/project/logging/base.rb', line 104 def with_log_indent(with = true) log_indent_next if with yield ensure log_indent_prev if with end |