uniq_logger 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/uniq_logger/base.rb +19 -19
- data/lib/uniq_logger/configuration.rb +19 -19
- data/lib/uniq_logger/version.rb +1 -1
- data/spec/lib/uniq_logger_spec.rb +15 -15
- data/uniq_logger-0.1.1.gem +0 -0
- metadata +2 -1
data/Gemfile.lock
CHANGED
data/lib/uniq_logger/base.rb
CHANGED
@@ -9,9 +9,9 @@ module UniqLogger
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def create(uniq_id, data_to_save=[])
|
12
|
-
if config[
|
12
|
+
if config["logfile_destination"] == "local"
|
13
13
|
create_local_log_entry(uniq_id, data_to_save)
|
14
|
-
elsif config[
|
14
|
+
elsif config["logfile_destination"] == "remote"
|
15
15
|
create_remote_log_entry(uniq_id, data_to_save)
|
16
16
|
else
|
17
17
|
puts "logfile_destination is not set to [local,ftp]"
|
@@ -22,9 +22,9 @@ module UniqLogger
|
|
22
22
|
|
23
23
|
def create_local_log_entry(uniq_id, data_to_save)
|
24
24
|
#Use global Logger
|
25
|
-
if config[
|
26
|
-
raise "Directory of 'path_to_local_logfiles' '#{config[
|
27
|
-
logfilename = File.join(config[
|
25
|
+
if config["global_logger"] == true
|
26
|
+
raise "Directory of 'path_to_local_logfiles' '#{config["path_to_local_logfiles"]}' does not exist!" unless File.directory?(config["path_to_local_logfiles"])
|
27
|
+
logfilename = File.join(config["path_to_local_logfiles"], config["global_log_file_name"])
|
28
28
|
logfile = File.open( File.expand_path(logfilename), "a" )
|
29
29
|
|
30
30
|
if is_uniq_id_in_log_hostory?(uniq_id,logfile)
|
@@ -32,16 +32,16 @@ module UniqLogger
|
|
32
32
|
end
|
33
33
|
|
34
34
|
#write Data to Logfile File
|
35
|
-
logfile.puts [uniq_id,data_to_save].flatten.join(config[
|
35
|
+
logfile.puts [uniq_id,data_to_save].flatten.join(config["csv"]["col_sep"])
|
36
36
|
logfile.close
|
37
37
|
end
|
38
38
|
|
39
39
|
#Use Log Rotator?
|
40
|
-
if ['day','month','year'].include?(config[
|
40
|
+
if ['day','month','year'].include?(config["global_logger"])
|
41
41
|
logger_prefix = get_current_logger_prefix()
|
42
|
-
rotator_logfilename = File.join(config[
|
42
|
+
rotator_logfilename = File.join(config["path_to_local_logfiles"], "#{config['log_rotator_prefix']}#{logger_prefix}.log")
|
43
43
|
rotator_logfile = File.open( File.expand_path(rotator_logfilename), "a" )
|
44
|
-
rotator_logfile.puts [uniq_id,data_to_save].flatten.join(config[
|
44
|
+
rotator_logfile.puts [uniq_id,data_to_save].flatten.join(config["csv"]["col_sep"])
|
45
45
|
rotator_logfile.close
|
46
46
|
end
|
47
47
|
|
@@ -50,8 +50,8 @@ module UniqLogger
|
|
50
50
|
|
51
51
|
|
52
52
|
def is_uniq_id_in_log_hostory?(uniq_id,logfile)
|
53
|
-
if config[
|
54
|
-
data = CSV.read(logfile, {:col_sep => config[
|
53
|
+
if config["validates_uniqness_of_id"] == true
|
54
|
+
data = CSV.read(logfile, {:col_sep => config["csv"]["col_sep"], :encoding => config["csv"]["encoding"] })
|
55
55
|
list_of_ids = data.map{ |a| a[0]}
|
56
56
|
#puts data
|
57
57
|
if list_of_ids.include?(uniq_id)
|
@@ -62,7 +62,7 @@ module UniqLogger
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def get_current_logger_prefix
|
65
|
-
case config[
|
65
|
+
case config["global_logger"]
|
66
66
|
when "day"
|
67
67
|
filename_prefix = Time.now.strftime("%d-%m-%Y")
|
68
68
|
when "month"
|
@@ -78,11 +78,11 @@ module UniqLogger
|
|
78
78
|
|
79
79
|
def create_remote_log_entry(uniq_id, data_to_save)
|
80
80
|
begin
|
81
|
-
auth_token = config[
|
82
|
-
server_name = config[
|
83
|
-
endpoint = config[
|
84
|
-
param_id = config[
|
85
|
-
param_data = config[
|
81
|
+
auth_token = config["remote"]["auth_token"]
|
82
|
+
server_name = config["remote"]["server"]
|
83
|
+
endpoint = config["remote"]["endpoint"]
|
84
|
+
param_id = config["remote"]["url_param_for_id"]
|
85
|
+
param_data = config["remote"]["url_param_for_data"]
|
86
86
|
|
87
87
|
uri = URI.parse("#{server_name}#{endpoint}?auth_token=#{auth_token}")
|
88
88
|
puts "URI: #{uri.inspect}"
|
@@ -90,8 +90,8 @@ module UniqLogger
|
|
90
90
|
http = Net::HTTP.new(uri.host, uri.port)
|
91
91
|
request = Net::HTTP::Post.new(uri.request_uri)
|
92
92
|
|
93
|
-
if !config[
|
94
|
-
request.basic_auth
|
93
|
+
if !config["remote"]["basic_auth"]["username"].nil? && !config["remote"]["basic_auth"]["password"].nil? && !config["remote"]["basic_auth"][:username].empty? && !config["remote"]["basic_auth"]["password"].empty?
|
94
|
+
request.basic_auth(config["remote"]["basic_auth"]["username"], config["remote"]["basic_auth"]["password"])
|
95
95
|
end
|
96
96
|
|
97
97
|
request.body = { param_id.to_sym => uniq_id, param_data.to_sym => data_to_save }.to_s
|
@@ -1,27 +1,27 @@
|
|
1
1
|
module UniqLogger
|
2
2
|
class Configuration
|
3
3
|
@config = {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
4
|
+
"log_rotator" => "none",
|
5
|
+
"log_rotator_prefix" => "uniq_logger-",
|
6
|
+
"global_logger" => true,
|
7
|
+
"global_log_file_name" => "uniq_logger.log",
|
8
|
+
"validates_uniqness_of_id" => true,
|
9
|
+
"logfile_destination" => "local",
|
10
|
+
"path_to_local_logfiles" => "log",
|
11
|
+
"remote" => {
|
12
|
+
"auth_token" => "xyz123abc",
|
13
|
+
"server" => "http://www.server.de",
|
14
|
+
"endpoint" => "/api/v1/logger",
|
15
|
+
"url_param_for_id" => "id",
|
16
|
+
"url_param_for_data" => "data",
|
17
|
+
"basic_auth" => {
|
18
|
+
"username" => "",
|
19
|
+
"password" => ""
|
20
20
|
}
|
21
21
|
},
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
"csv" => {
|
23
|
+
"encoding" => "UTF8",
|
24
|
+
"col_sep" => ";"
|
25
25
|
}
|
26
26
|
}
|
27
27
|
|
data/lib/uniq_logger/version.rb
CHANGED
@@ -10,20 +10,20 @@ end
|
|
10
10
|
describe UniqLogger::Base do
|
11
11
|
before(:each) do
|
12
12
|
@logger = UniqLogger.new
|
13
|
-
@logger.config[
|
13
|
+
@logger.config["global_log_file_name"] = "rspec_logger.log"
|
14
14
|
#reset local Logfile
|
15
|
-
@logfilename = File.join(@logger.config[
|
15
|
+
@logfilename = File.join(@logger.config["path_to_local_logfiles"], @logger.config["global_log_file_name"])
|
16
16
|
if File.exists?(@logfilename)
|
17
17
|
File.delete( File.expand_path(@logfilename) )
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'has a valid configuration' do
|
22
|
-
expect(@logger.config[
|
23
|
-
expect(@logger.config[
|
24
|
-
expect(@logger.config[
|
25
|
-
expect(@logger.config[
|
26
|
-
expect(@logger.config[
|
22
|
+
expect(@logger.config["log_rotator"]).to eq("none")
|
23
|
+
expect(@logger.config["global_logger"]).to eq(true)
|
24
|
+
expect(@logger.config["csv"]["encoding"]).to eq("UTF8")
|
25
|
+
expect(@logger.config["csv"]["col_sep"]).to eq(";")
|
26
|
+
expect(@logger.config["logfile_destination"]).to eq("local")
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'should write a log to a logfile with validation of ID true' do
|
@@ -33,38 +33,38 @@ describe UniqLogger::Base do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'should write a log to a logfile with validation of ID false' do
|
36
|
-
@logger.config[
|
36
|
+
@logger.config["validates_uniqness_of_id"] = false
|
37
37
|
expect(@logger.create("12345", ["Vorname", "Nachname", "Strasse"])).to eq(true)
|
38
38
|
expect(@logger.create("12346", ["Vorname2", "Nachname2", "Strasse2"])).to eq(true)
|
39
39
|
expect(@logger.create("12346", ["Vorname3", "Nachname3", "Strasse3"])).to eq(true)
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'should write a log rotator to a logfile per day' do
|
43
|
-
@logger.config[
|
43
|
+
@logger.config["global_logger"] = "day"
|
44
44
|
expect(@logger.create("12345", ["Vorname", "Nachname", "Strasse"])).to eq(true)
|
45
45
|
expect(@logger.create("12346", ["Vorname2", "Nachname2", "Strasse2"])).to eq(true)
|
46
46
|
expect(@logger.create("12346", ["Vorname3", "Nachname3", "Strasse3"])).to eq(true)
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'should write a log rotator to a logfile per month' do
|
50
|
-
@logger.config[
|
50
|
+
@logger.config["global_logger"] = "month"
|
51
51
|
expect(@logger.create("12345", ["Vorname", "Nachname", "Strasse"])).to eq(true)
|
52
52
|
expect(@logger.create("12346", ["Vorname2", "Nachname2", "Strasse2"])).to eq(true)
|
53
53
|
expect(@logger.create("12346", ["Vorname3", "Nachname3", "Strasse3"])).to eq(true)
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'should write a log rotator to a logfile per year' do
|
57
|
-
@logger.config[
|
57
|
+
@logger.config["global_logger"] = "year"
|
58
58
|
expect(@logger.create("12345", ["Vorname", "Nachname", "Strasse"])).to eq(true)
|
59
59
|
expect(@logger.create("12346", ["Vorname2", "Nachname2", "Strasse2"])).to eq(true)
|
60
60
|
expect(@logger.create("12346", ["Vorname3", "Nachname3", "Strasse3"])).to eq(true)
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'sould send data to remote api' do
|
64
|
-
@logger.config[
|
65
|
-
@logger.config[
|
66
|
-
@logger.config[
|
67
|
-
@logger.config[
|
64
|
+
@logger.config["logfile_destination"] = "remote"
|
65
|
+
@logger.config["remote"]["auth_token"] = "QviQAtx1mq1ZCWC12RUy"
|
66
|
+
@logger.config["remote"]["server"] = "http://localhost:3000"
|
67
|
+
@logger.config["remote"]["endpoint"] = "/crm/api/v1/loggers.json"
|
68
68
|
expect(@logger.create("1111", ["Remote", "Server", "Strasse3"])).to eq(true)
|
69
69
|
end
|
70
70
|
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uniq_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- spec/lib/uniq_logger_spec.rb
|
115
115
|
- spec/spec_helper.rb
|
116
116
|
- template/uniq_logger.yml
|
117
|
+
- uniq_logger-0.1.1.gem
|
117
118
|
- uniq_logger.gemspec
|
118
119
|
homepage: https://github.com/ikuseiGmbH/uniq_logger
|
119
120
|
licenses:
|