oh_my_log 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/oh_my_log/configuration.rb +2 -1
- data/lib/oh_my_log/printable_user.rb +32 -0
- data/lib/oh_my_log/request.rb +1 -1
- data/lib/oh_my_log/syslog_implementor.rb +5 -1
- data/lib/oh_my_log/syslog_processors/r_f_c_3164.rb +1 -1
- data/lib/oh_my_log/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea12189e28a7ff710bee96c376acea0797c7530612cd294878e6da28f1b5e896
|
4
|
+
data.tar.gz: 0c0b2163cfd7f3c4dc48a04f5a165d52c8c87a0b1f6447fe8be8acc7632860e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27b8c2c5ba7b0f16a7e6f9b761dcb344f59225e152b714d1c7129b11782b9b0526186f739cabc035a938706de64f92eeadfba096324fe1884c780a0c11502509
|
7
|
+
data.tar.gz: 5a7e4cdff1395cb3621b1c3a019357fe7a74552d153016174572cbf88a9552973cce152f17a4ef7aeeedf4455071c4bb531bb2958551f852f6523768dceb4ce2
|
data/README.md
CHANGED
@@ -64,6 +64,8 @@ bundle exec rake oh_my_log:generate_observers
|
|
64
64
|
|
65
65
|
>selectors Selector[] (instance list of all the selectors)
|
66
66
|
|
67
|
+
>user_fields String[]/Symbol[] (fallback fields used to log an user)
|
68
|
+
|
67
69
|
###### Instance methods:
|
68
70
|
|
69
71
|
>add_selector(selector ->Selector) (use this to add a new selector inside the configuration,
|
@@ -109,11 +111,12 @@ Complex initializer example:
|
|
109
111
|
OhMyLog::Log.configure do |config|
|
110
112
|
config.print_log = true
|
111
113
|
selector = OhMyLog::Log::Selector.new
|
112
|
-
selector.set_controllers("EXCEPT" =>["
|
114
|
+
selector.set_controllers("EXCEPT" =>["Application","Hotel"])
|
113
115
|
selector.set_actions("ONLY" =>["index","create","destroy"])
|
114
116
|
selector.set_status_codes("ONLY" =>[(0..200)])
|
115
117
|
selector.set_methods("EXCEPT" =>["GET"])
|
116
118
|
selector.set_ips("EXCEPT"=>["192.168.0.1"])
|
119
|
+
config.user_fields = ["email", "full_name"]
|
117
120
|
config.add_selector(selector)
|
118
121
|
#put your configs here
|
119
122
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module OhMyLog
|
2
2
|
module Log
|
3
3
|
class Configuration
|
4
|
-
attr_accessor :models, :print_log, :record_history, :log_instance, :syslog
|
4
|
+
attr_accessor :models, :print_log, :record_history, :log_instance, :syslog, :user_fields
|
5
5
|
attr_reader :selectors, :log_path
|
6
6
|
|
7
7
|
def initialize(*args)
|
@@ -12,6 +12,7 @@ module OhMyLog
|
|
12
12
|
@log_instance = Logger.new(File.join(Rails.root, 'log/oh_my_log.log')) unless @log_path
|
13
13
|
@log_path = nil
|
14
14
|
@syslog = nil
|
15
|
+
@user_fields = PrintableUser::DEFAULT_FIELDS
|
15
16
|
#do we wanna keep track of all the actions?
|
16
17
|
@record_history = false
|
17
18
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class PrintableUser
|
2
|
+
DEFAULT_FIELDS = ["email", "full_name", ["first_name", "last_name"], "id"].freeze
|
3
|
+
|
4
|
+
def initialize(user, accepted_values)
|
5
|
+
raise "DIO" unless accepted_values
|
6
|
+
raise ArgumentError unless user || !accepted_values.is_a?(Array)
|
7
|
+
@user = user
|
8
|
+
@accepted_values = accepted_values
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
try_val = ->(val) do
|
13
|
+
user.send(val.to_sym) rescue nil
|
14
|
+
end
|
15
|
+
accepted_values.each do |val|
|
16
|
+
if val.is_a?(Array)
|
17
|
+
tmp_val = val.map {|field| try_val.call(field)}.join(" ")
|
18
|
+
return tmp_val if tmp_val.present?
|
19
|
+
elsif [String, Symbol].include?(val.class)
|
20
|
+
return try_val.call(val) if try_val.call(val)
|
21
|
+
else
|
22
|
+
raise ArgumentError
|
23
|
+
end
|
24
|
+
end
|
25
|
+
raise "No values was found"
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
attr_reader :user, :accepted_values
|
31
|
+
|
32
|
+
end
|
data/lib/oh_my_log/request.rb
CHANGED
@@ -14,7 +14,7 @@ module OhMyLog
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def to_s
|
17
|
-
user_info = @sender.
|
17
|
+
user_info = PrintableUser.new(@sender, OhMyLog::Log.configuration.user_fields) rescue nil
|
18
18
|
sender = user_info || Thread.current["remote_ip"]
|
19
19
|
"#{@date}, #{sender}, #{@method}, #{@params}, #{@status}"
|
20
20
|
end
|
@@ -61,7 +61,11 @@ module OhMyLog
|
|
61
61
|
# end
|
62
62
|
|
63
63
|
def retrive_public_ip
|
64
|
-
|
64
|
+
if Rails.env.test?
|
65
|
+
"127.0.0.1"
|
66
|
+
else
|
67
|
+
Net::HTTP.get(URI("http://checkip.amazonaws.com")).gsub("\n", "") rescue nil
|
68
|
+
end
|
65
69
|
end
|
66
70
|
|
67
71
|
def retrive_hostname
|
@@ -11,7 +11,7 @@ module SyslogProcessors
|
|
11
11
|
def message_text(ip:, user:, url:, m:, s:, p:)
|
12
12
|
text = "#{@tag.upcase}:"
|
13
13
|
text += "ip=#{ip};"
|
14
|
-
text += "u=#{user};"
|
14
|
+
text += "u=#{PrintableUser.new(user, OhMyLog::Log.configuration.user_fields) rescue "anonymous"};"
|
15
15
|
text += "url=#{url};"
|
16
16
|
text += "m=#{m};"
|
17
17
|
text += "s=#{s};"
|
data/lib/oh_my_log/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oh_my_log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabrizio Spadaro
|
@@ -202,6 +202,7 @@ files:
|
|
202
202
|
- lib/oh_my_log/observer_factory.rb
|
203
203
|
- lib/oh_my_log/orm/active_record.rb
|
204
204
|
- lib/oh_my_log/orm/mongoid.rb
|
205
|
+
- lib/oh_my_log/printable_user.rb
|
205
206
|
- lib/oh_my_log/request.rb
|
206
207
|
- lib/oh_my_log/result.rb
|
207
208
|
- lib/oh_my_log/selector.rb
|