any_logger 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/lib/any_logger/example/controller_subscriber.rb +34 -51
- data/lib/any_logger/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de56cdda136e683ae52ee87f6a0cb802792f1e3aa1c6e946ade58b6dde832664
|
4
|
+
data.tar.gz: 9760f9c169b6d1f721e353d2a995b3da7ed07218cfd3f9d7ff1d7f7bd58417cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3f6346e9da6a573bddc918a41195a7827c9d34086c3ab1a5b47290017615ef1c5d182968ee06a94d8eab2b31d672533cf7166fb7109849d327a7e39e5455dfb
|
7
|
+
data.tar.gz: de5672b026af7fbf51619d947e72ca52495781fc39397c559b10ca467227fb3811e61555eac684310b219e1628007dea3220f19ae0f5571e44cfeb46266723b6
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -28,65 +28,44 @@ module AnyLogger
|
|
28
28
|
# params: {"foo" => "bar"}
|
29
29
|
# redirect: "/fuga"
|
30
30
|
private def formatted_message
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
e = formatted_log_details
|
32
|
+
# ヒアドキュメントだとparamsとredirectの有無で改行の入り方が変わってしまうので、配列を結合する方法を採用
|
33
|
+
lines = []
|
34
|
+
lines << ""
|
35
|
+
lines << "[#{e[:method]}] #{e[:controller]}##{e[:action]} for: #{e[:ip]} at: #{e[:datetime]}"
|
36
|
+
lines << " 🔍 path: \"#{e[:path]}\""
|
37
|
+
lines << " 🧱 status: #{e[:status]} in #{e[:duration]}ms " \
|
38
|
+
"(view: #{e[:view_runtime]}ms | db: #{e[:db_runtime]}ms)"
|
39
|
+
lines << " 📝 params: #{e[:params]}" if @payload[:params].present?
|
40
|
+
lines << " 🚀 redirect: \"#{e[:redirect_to]}\"" if @headers[:location].present?
|
41
|
+
lines.join("\n")
|
38
42
|
end
|
39
43
|
|
40
44
|
private def match_unnecessary_path?
|
41
45
|
UNNECESSARY_PATHS.include?(@payload[:path])
|
42
46
|
end
|
43
47
|
|
44
|
-
private def
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
private def l_status
|
65
|
-
"🧱 status: #{@payload[:status]}"
|
66
|
-
end
|
67
|
-
|
68
|
-
private def l_duration
|
69
|
-
"in #{@event.duration&.round(2) || 0}ms"
|
70
|
-
end
|
71
|
-
|
72
|
-
private def l_view_runtime
|
73
|
-
"view: #{@payload[:view_runtime]&.round(2) || 0}ms"
|
74
|
-
end
|
75
|
-
|
76
|
-
private def l_db_runtime
|
77
|
-
"db: #{@payload[:db_runtime]&.round(2) || 0}ms"
|
78
|
-
end
|
79
|
-
|
80
|
-
private def l_params
|
81
|
-
@payload[:params] = except_unnecessary_params
|
82
|
-
"📝 params: #{@payload[:params]&.inspect || {}}"
|
83
|
-
end
|
84
|
-
|
85
|
-
private def l_redirect
|
48
|
+
private def formatted_log_details
|
49
|
+
{
|
50
|
+
method: @payload[:method].upcase,
|
51
|
+
controller: @payload[:controller],
|
52
|
+
action: @payload[:action],
|
53
|
+
ip: @payload[:request].remote_ip,
|
54
|
+
datetime: conversion_event_time_to_datetime,
|
55
|
+
path: @payload[:path],
|
56
|
+
status: @payload[:status],
|
57
|
+
duration: round_value(@event.duration),
|
58
|
+
view_runtime: round_value(@payload[:view_runtime]),
|
59
|
+
db_runtime: round_value(@payload[:db_runtime]),
|
60
|
+
params: expect_unnecessary_params || {},
|
61
|
+
redirect_to: formatted_redirect_location
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
private def formatted_redirect_location
|
86
66
|
return unless REDIRECT_CODES.any? { @payload[:status] == Rack::Utils.status_code(it) }
|
87
67
|
|
88
|
-
|
89
|
-
"🚀 redirect: \"#{ellipsised_url}\""
|
68
|
+
ellipsis_scheme_and_authority(@headers[:location])
|
90
69
|
end
|
91
70
|
|
92
71
|
private def conversion_event_time_to_datetime
|
@@ -97,6 +76,10 @@ module AnyLogger
|
|
97
76
|
Time.at((now - elapsed).to_i)
|
98
77
|
end
|
99
78
|
|
79
|
+
private def round_value(value)
|
80
|
+
value&.round(2) || 0
|
81
|
+
end
|
82
|
+
|
100
83
|
private def except_unnecessary_params
|
101
84
|
@payload[:params].except("controller", "action")
|
102
85
|
end
|
data/lib/any_logger/version.rb
CHANGED