effective_logging 1.10.16 → 1.10.17
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/app/controllers/effective/logs_controller.rb +5 -5
- data/app/helpers/effective_logging_helper.rb +8 -1
- data/app/models/effective_logger.rb +8 -0
- data/lib/effective_logging/log_page_views.rb +2 -3
- data/lib/effective_logging/user_logger.rb +2 -6
- data/lib/effective_logging/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 475fe3148755e9dacb3aaa3660f7a6759fd93e7e
|
|
4
|
+
data.tar.gz: 4193fd43358816ef6993e0cf5252e132558a8c30
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bb7409ef961e609c81dfcb7944996dd2ac3036fc165cfc75d72131b07401a60eabaf3ca2c21f2d145ad27e34bc9029ea2752947491bd53e3e2b855fed66c628f
|
|
7
|
+
data.tar.gz: b9265d6b45d7dafe9c59f850466fbe08885f2665fca31bdca5f82e13ee0d06cc5abcb14892bfef1501a36a69a78e6ee299c06da6b38ccbb058cd86e2fa866f20
|
|
@@ -17,9 +17,6 @@ module Effective
|
|
|
17
17
|
log.status = (EffectiveLogging.statuses.include?(log_params[:status]) ? log_params[:status] : 'info')
|
|
18
18
|
log.user = (current_user rescue nil)
|
|
19
19
|
|
|
20
|
-
#log.parent = options.delete(:parent)
|
|
21
|
-
#log.associated = options.delete(:associated)
|
|
22
|
-
|
|
23
20
|
count = -1
|
|
24
21
|
Array((JSON.parse(log_params[:details]) rescue [])).flatten(1).each do |obj|
|
|
25
22
|
if obj.kind_of?(Hash)
|
|
@@ -29,12 +26,15 @@ module Effective
|
|
|
29
26
|
end
|
|
30
27
|
end
|
|
31
28
|
|
|
32
|
-
|
|
29
|
+
# Match the referrer
|
|
30
|
+
log.details[:ip] ||= request.ip
|
|
31
|
+
log.details[:referrer] ||= request.referrer
|
|
32
|
+
log.details[:user_agent] ||= request.user_agent
|
|
33
33
|
|
|
34
34
|
log.save
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
render :
|
|
37
|
+
render text: 'ok', status: :ok
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
# This is the User index event
|
|
@@ -42,7 +42,7 @@ module EffectiveLoggingHelper
|
|
|
42
42
|
|
|
43
43
|
open = value.index('<!DOCTYPE html') || value.index('<html')
|
|
44
44
|
close = value.rindex('</html>') if open.present?
|
|
45
|
-
return
|
|
45
|
+
return format_log_details_resource_value(value) unless (open.present? && close.present?)
|
|
46
46
|
|
|
47
47
|
before = value[0...open]
|
|
48
48
|
after = value[(close+7)..-1]
|
|
@@ -60,4 +60,11 @@ module EffectiveLoggingHelper
|
|
|
60
60
|
].compact.join.html_safe
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
+
def format_log_details_resource_value(value)
|
|
64
|
+
@format_resource_tags ||= ActionView::Base.sanitized_allowed_tags.to_a + ['table', 'thead', 'tbody', 'tfoot', 'tr', 'td', 'th']
|
|
65
|
+
@format_resource_atts ||= ActionView::Base.sanitized_allowed_attributes.to_a + ['colspan', 'rowspan']
|
|
66
|
+
|
|
67
|
+
simple_format(sanitize(value.to_s, tags: @format_resource_tags, attributes: @format_resource_atts), {}, sanitize: false)
|
|
68
|
+
end
|
|
69
|
+
|
|
63
70
|
end
|
|
@@ -28,6 +28,14 @@ class EffectiveLogger
|
|
|
28
28
|
log.associated_to_s ||= (log.associated.to_s rescue nil)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
if options[:request].present? && options[:request].respond_to?(:referrer)
|
|
32
|
+
request = options.delete(:request)
|
|
33
|
+
|
|
34
|
+
options[:ip] ||= request.ip
|
|
35
|
+
options[:referrer] ||= request.referrer
|
|
36
|
+
options[:user_agent] ||= request.user_agent
|
|
37
|
+
end
|
|
38
|
+
|
|
31
39
|
log.details = options.delete_if { |k, v| v.blank? } if options.kind_of?(Hash)
|
|
32
40
|
|
|
33
41
|
log.save
|
|
@@ -53,10 +53,9 @@ module EffectiveLogging
|
|
|
53
53
|
::EffectiveLogger.view(
|
|
54
54
|
"#{request.request_method} #{request.path}",
|
|
55
55
|
user: user,
|
|
56
|
-
params: request.filtered_parameters.reject { |k, v| (k == 'controller' || k == 'action') },
|
|
57
56
|
format: (request.format.to_s == 'text/html' ? nil : request.format.to_s),
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
params: request.filtered_parameters.reject { |k, v| (k == 'controller' || k == 'action') },
|
|
58
|
+
request: request
|
|
60
59
|
)
|
|
61
60
|
end
|
|
62
61
|
end
|
|
@@ -6,9 +6,7 @@ module EffectiveLogging
|
|
|
6
6
|
::EffectiveLogger.sign_in('Sign in',
|
|
7
7
|
user: user,
|
|
8
8
|
associated: user,
|
|
9
|
-
|
|
10
|
-
referrer: warden.request.referrer,
|
|
11
|
-
user_agent: warden.request.user_agent
|
|
9
|
+
request: warden.request
|
|
12
10
|
)
|
|
13
11
|
end
|
|
14
12
|
end
|
|
@@ -19,9 +17,7 @@ module EffectiveLogging
|
|
|
19
17
|
::EffectiveLogger.sign_in('Sign in',
|
|
20
18
|
user: user,
|
|
21
19
|
associated: user,
|
|
22
|
-
|
|
23
|
-
referrer: warden.request.referrer,
|
|
24
|
-
user_agent: warden.request.user_agent,
|
|
20
|
+
request: warden.request,
|
|
25
21
|
notes: 'after password reset'
|
|
26
22
|
)
|
|
27
23
|
end
|