any_logger 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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