cuvva_log 0.1.1 → 0.2.0
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/lib/cuvva_error.rb +8 -19
- data/lib/cuvva_log.rb +42 -41
- metadata +3 -4
- data/lib/cuvva_log_handler.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bd7378f01d66b6a681e794724f2ee3785a08edf
|
4
|
+
data.tar.gz: 958324e423948843689e0cac2866bd3e49a1910e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bccf3402936a94223657131aaa9eca3b51401bf366a67fe1b5df20a710f0496684d6356ec7bd15bc5df75b96e0cc637a3fb5c30e1e815df7865136bbafbae810
|
7
|
+
data.tar.gz: a37741335070a1b75f4e4528ec12d951d40033eff05c62ff4b428fe030072da71df31acc87635fe8be248f380c888f8598aa9c34e1047c76f4c6d6e63cd28959
|
data/lib/cuvva_error.rb
CHANGED
@@ -1,13 +1,8 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
1
|
class CuvvaError < StandardError
|
4
|
-
@@http_status_map = { }
|
5
|
-
|
6
2
|
attr_accessor :code
|
7
3
|
attr_accessor :reasons
|
8
4
|
attr_accessor :meta
|
9
5
|
attr_reader :stack
|
10
|
-
attr_reader :http_status
|
11
6
|
|
12
7
|
def initialize(*args)
|
13
8
|
code, reasons, meta = args
|
@@ -21,23 +16,17 @@ class CuvvaError < StandardError
|
|
21
16
|
@reasons = reasons
|
22
17
|
@meta = meta
|
23
18
|
@stack = caller
|
24
|
-
@http_status = CuvvaError.http_status_map.has_key?(code) &&
|
25
|
-
CuvvaError.http_status_map[code] ?
|
26
|
-
CuvvaError.http_status_map[code] :
|
27
|
-
500
|
28
|
-
end
|
29
|
-
|
30
|
-
def to_json
|
31
|
-
JSON.generate(to_hash)
|
32
19
|
end
|
33
20
|
|
34
|
-
def
|
35
|
-
|
21
|
+
def to_hash
|
22
|
+
{
|
23
|
+
code: self.code,
|
24
|
+
reasons: self.reasons ? self.reasons.to_hash : nil,
|
25
|
+
meta: self.meta ? self.meta.to_hash : nil,
|
26
|
+
}
|
36
27
|
end
|
37
28
|
|
38
|
-
|
39
|
-
|
40
|
-
def to_hash
|
41
|
-
{ :code => self.code, :reasons => self.reasons, :meta => self.meta }
|
29
|
+
def to_json(*args)
|
30
|
+
to_hash.to_json(*args)
|
42
31
|
end
|
43
32
|
end
|
data/lib/cuvva_log.rb
CHANGED
@@ -1,24 +1,34 @@
|
|
1
1
|
require 'cuvva_error'
|
2
|
-
require '
|
2
|
+
require 'json'
|
3
3
|
|
4
4
|
class Log
|
5
5
|
ERROR_LEVELS = {
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
6
|
+
debug: 0,
|
7
|
+
info: 1,
|
8
|
+
warn: 2,
|
9
|
+
error: 3,
|
10
|
+
fatal: 4,
|
11
11
|
}
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
@@conf_min_log_level = :info
|
14
|
+
@@conf_handlers = {}
|
15
|
+
|
16
|
+
def self.set_handler(*args)
|
17
|
+
if args.length == 1
|
18
|
+
handler = args[0]
|
19
|
+
|
20
|
+
for level in ERROR_LEVELS.keys
|
21
|
+
@@conf_handlers[level] = handler
|
22
|
+
end
|
23
|
+
else
|
24
|
+
level, handler = args
|
25
|
+
@@conf_handlers[level] = handler
|
26
|
+
end
|
15
27
|
end
|
16
28
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
[a, @@default_handler]
|
21
|
-
end ]
|
29
|
+
def self.set_min_log_level(level)
|
30
|
+
@@conf_min_log_level = level
|
31
|
+
end
|
22
32
|
|
23
33
|
def self.debug(*args)
|
24
34
|
make_error(:debug, *args)
|
@@ -34,48 +44,39 @@ class Log
|
|
34
44
|
|
35
45
|
def self.error(*args)
|
36
46
|
make_error(:error, *args)
|
37
|
-
end
|
47
|
+
end
|
38
48
|
|
39
49
|
def self.fatal(*args)
|
40
50
|
make_error(:fatal, *args)
|
41
51
|
end
|
42
52
|
|
43
|
-
|
44
|
-
@@min_log_level
|
45
|
-
end
|
46
|
-
|
47
|
-
def self.min_log_level=(log_level)
|
48
|
-
@@min_log_level = get_level(log_level)
|
49
|
-
end
|
53
|
+
private
|
50
54
|
|
51
|
-
def self.
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
+
def self.make_error(level, *args)
|
56
|
+
error = args[0].is_a?(CuvvaError) ? args[0] : CuvvaError.new(*args)
|
57
|
+
handle_error(level, error)
|
58
|
+
error
|
55
59
|
end
|
56
60
|
|
57
|
-
def self.
|
58
|
-
|
59
|
-
handler = args[0]
|
61
|
+
def self.handle_error(level, error)
|
62
|
+
handler = @@conf_handlers[level]
|
60
63
|
|
61
|
-
|
62
|
-
|
63
|
-
end
|
64
|
+
if handler
|
65
|
+
handler.handle(level, error)
|
64
66
|
else
|
65
|
-
level,
|
66
|
-
@@handlers[level] = handler
|
67
|
+
default_handler(level, error)
|
67
68
|
end
|
68
69
|
end
|
69
70
|
|
70
|
-
|
71
|
+
def self.default_handler(level, error)
|
72
|
+
return if ERROR_LEVELS[level] < ERROR_LEVELS[@@conf_min_log_level]
|
71
73
|
|
72
|
-
|
73
|
-
@@handlers[level].handle(level, error)
|
74
|
-
end
|
74
|
+
error_string = "#{level}:#{JSON.generate(error)}"
|
75
75
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
76
|
+
if [:warn, :error, :fatal].include?(level)
|
77
|
+
STDERR.puts error_string
|
78
|
+
else
|
79
|
+
puts error_string
|
80
|
+
end
|
80
81
|
end
|
81
82
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuvva_log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Fransham
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Super-simple logs for the Ruby-based Cuvva systems
|
14
14
|
email: jack.fransham@cuvva.co
|
@@ -18,7 +18,6 @@ extra_rdoc_files: []
|
|
18
18
|
files:
|
19
19
|
- lib/cuvva_error.rb
|
20
20
|
- lib/cuvva_log.rb
|
21
|
-
- lib/cuvva_log_handler.rb
|
22
21
|
homepage: https://github.com/cuvva/cuvva-log-ruby
|
23
22
|
licenses:
|
24
23
|
- MIT
|
@@ -39,7 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
39
38
|
version: '0'
|
40
39
|
requirements: []
|
41
40
|
rubyforge_project:
|
42
|
-
rubygems_version: 2.4.
|
41
|
+
rubygems_version: 2.4.6
|
43
42
|
signing_key:
|
44
43
|
specification_version: 4
|
45
44
|
summary: Super-simple logs for the Ruby-based Cuvva systems
|
data/lib/cuvva_log_handler.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'cuvva_log'
|
2
|
-
|
3
|
-
class LogHandler
|
4
|
-
def handle(level, error)
|
5
|
-
return if Log.get_level(level) < Log.min_log_level
|
6
|
-
|
7
|
-
error_string = "#{level}:#{error.to_json}"
|
8
|
-
|
9
|
-
if [ :warn, :error, :fatal ].include?(level)
|
10
|
-
STDERR.puts error_string
|
11
|
-
else
|
12
|
-
puts error_string
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|