beautiful-log 0.1.6 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/beautiful-log.gemspec +1 -0
- data/lib/beautiful/log/formatter.rb +16 -4
- data/lib/beautiful/log/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25927d2784ba9a2e0ee28f438335f220f6b40d9e
|
4
|
+
data.tar.gz: 4ff063f0c7bd22d53fc6618ccb1f37841e86fdb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0ff063a389fb17bb07be21cd192d80a1f516acdd6a83f95b993478b1b0305f866a99a10552eaf67a61931ff491e809e48645f221fb9996a1628d448bfc2554f
|
7
|
+
data.tar.gz: e0755aab97842b5d41b86929389518214c5aabe8b003e1b82a92a8534f2ce415b45a81e1b5ab3cd9b3bbd4ca188f31f656a2d417f076066a4436acd561230855
|
data/README.md
CHANGED
@@ -119,6 +119,7 @@ Below is a hash containing default values.
|
|
119
119
|
```ruby
|
120
120
|
Beautiful::Log::Formatter.new(
|
121
121
|
only_project_code: true,
|
122
|
+
shrink_bundle_path: true,
|
122
123
|
backtrace_ignore_paths: [],
|
123
124
|
highlighted_line_range: 3,
|
124
125
|
highlighted_line_styles: :cyan,
|
@@ -126,6 +127,7 @@ Beautiful::Log::Formatter.new(
|
|
126
127
|
error_file_path_styles: :red,
|
127
128
|
severity_styles: { FATAL: [:red, :swap], ERROR: :red, WARN: :light_red },
|
128
129
|
status_code_styles: { (1..3) => [:green, :bold], 'other' => [:red, :bold] },
|
130
|
+
occurence_line: :light_blue
|
129
131
|
)
|
130
132
|
```
|
131
133
|
|
data/beautiful-log.gemspec
CHANGED
@@ -22,15 +22,18 @@ module Beautiful
|
|
22
22
|
# rubocop: disable Metrics/AbcSize, Style/ParameterLists, Style/MethodLength
|
23
23
|
def initialize(
|
24
24
|
only_project_code: true,
|
25
|
+
shrink_bundle_path: true,
|
25
26
|
backtrace_ignore_paths: [],
|
26
27
|
highlighted_line_range: 3,
|
27
28
|
highlighted_line_styles: :cyan,
|
28
29
|
backtrace_styles: :light_red,
|
29
30
|
error_file_path_styles: :red,
|
30
31
|
status_code_styles: {},
|
31
|
-
severity_styles: {}
|
32
|
+
severity_styles: {},
|
33
|
+
occurence_line: :light_blue
|
32
34
|
)
|
33
35
|
@only_project_code = only_project_code
|
36
|
+
@shrink_bundle_path = shrink_bundle_path
|
34
37
|
@ignore_paths = backtrace_ignore_paths.map do |path|
|
35
38
|
Regexp.new "#{Rails.root}/#{path}"
|
36
39
|
end << Regexp.new(bundle_path)
|
@@ -42,11 +45,12 @@ module Beautiful
|
|
42
45
|
@error_file_path_styles = error_file_path_styles
|
43
46
|
@status_code_styles = DEFAULT_STATUS_CODE_STYLES.merge(status_code_styles).with_indifferent_access
|
44
47
|
@severity_styles = DEFAULT_SEVERITY_STYLES.merge(severity_styles).with_indifferent_access
|
48
|
+
@occurence_line = occurence_line
|
45
49
|
end
|
46
50
|
|
47
51
|
def call(severity, timestamp, _progname, message)
|
48
52
|
problem_code = highlighted_code(message) if message.is_a?(Exception)
|
49
|
-
header = message_header(timestamp, severity)
|
53
|
+
header = message_header(timestamp, severity, caller)
|
50
54
|
message = "#{header} -- : #{message_body(message, header.uncolorize.length + 6)}\n"
|
51
55
|
message = "#{message}\n#{problem_code}" if problem_code.present?
|
52
56
|
message = "\n#{message}\n" if %w(FATAL ERROR).include?(severity)
|
@@ -55,11 +59,19 @@ module Beautiful
|
|
55
59
|
|
56
60
|
private
|
57
61
|
|
58
|
-
def message_header(timestamp, severity)
|
59
|
-
header = "[#{timestamp.strftime(datetime_format)}] (pida=#{$PROCESS_ID}) #{format('%5s', severity)}"
|
62
|
+
def message_header(timestamp, severity, backtrace)
|
63
|
+
header = "[#{timestamp.strftime(datetime_format)}] (pida=#{$PROCESS_ID}) #{file_line(backtrace)} #{format('%5s', severity)}"
|
60
64
|
colored_header(severity, header)
|
61
65
|
end
|
62
66
|
|
67
|
+
def file_line(backtrace_lines)
|
68
|
+
file_line = backtrace_lines.find do |line|
|
69
|
+
(only_project_code && project_code?(line)) && !ignore_path?(line)
|
70
|
+
end
|
71
|
+
file_line&.sub!(bundle_install_path, '') if @shrink_bundle_path
|
72
|
+
apply_styles(omit_project_path(file_line), @occurence_line) if file_line.present?
|
73
|
+
end
|
74
|
+
|
63
75
|
def colored_header(severity, header)
|
64
76
|
styles = severity_styles[severity.to_sym]
|
65
77
|
return header if styles.blank?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beautiful-log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nogahighland
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|