releaseable 0.0.4 → 0.0.6
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.
- data/VERSION +1 -1
- data/lib/releaseable/extensions.rb +54 -27
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -2,14 +2,34 @@ require 'logger'
|
|
2
2
|
require 'logglier'
|
3
3
|
require 'java'
|
4
4
|
|
5
|
+
# Selectively silence verbose JRuby warnings
|
6
|
+
def suppress_all_warnings
|
7
|
+
old_verbose = $VERBOSE
|
8
|
+
begin
|
9
|
+
$VERBOSE = nil
|
10
|
+
yield if block_given?
|
11
|
+
ensure
|
12
|
+
# always re-set to old value, even if block raises an exception
|
13
|
+
$VERBOSE = old_verbose
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
5
17
|
# Avoid OpenSSL failures
|
6
|
-
|
18
|
+
suppress_all_warnings do
|
19
|
+
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
20
|
+
end
|
7
21
|
|
8
22
|
# Logger extensions
|
9
23
|
class Logger
|
10
24
|
|
25
|
+
INPUTS = {:default => 'c568432d-8f50-4b12-9322-5f6ffda7883b',
|
26
|
+
:opts => 'b9a22025-b148-4dfe-8355-ce5dba40b6a2',
|
27
|
+
:json => '62a8ef41-fd80-460f-a6f7-e45f232dd1d8',
|
28
|
+
:aux => '207f124e-9de6-434f-b100-af1ac3585089', }
|
29
|
+
|
11
30
|
attr_accessor :config
|
12
31
|
|
32
|
+
# Alarm sound to get my attention
|
13
33
|
def self.sound_alarm beeps = 3
|
14
34
|
beeps.times do
|
15
35
|
java.awt.Toolkit.getDefaultToolkit.beep
|
@@ -17,33 +37,57 @@ class Logger
|
|
17
37
|
end
|
18
38
|
end
|
19
39
|
|
40
|
+
# Alarm sound on Logger instance
|
20
41
|
def sound_alarm beeps = @config[:beeps]
|
21
42
|
self.class.sound_alarm beeps
|
22
43
|
end
|
23
44
|
|
24
45
|
alias old_fatal fatal
|
25
46
|
|
47
|
+
# Extended handler for fatal errors
|
26
48
|
def fatal *args
|
27
49
|
if @config && @config[:fatal]
|
28
50
|
entry = args.first
|
29
51
|
case entry
|
30
52
|
when Exception
|
31
|
-
@config[:fatal].fatal
|
53
|
+
@config[:fatal].fatal :tag => @config[:tag],
|
54
|
+
:error => entry.class,
|
55
|
+
:msg => entry.message,
|
56
|
+
:backtrace => entry.backtrace.join(', ')
|
32
57
|
else
|
33
|
-
@config[:fatal].info
|
58
|
+
@config[:fatal].info :tag => @config[:tag],
|
59
|
+
:msg => "#{args.join(', ')}"
|
60
|
+
old_fatal *args
|
34
61
|
end
|
62
|
+
else
|
63
|
+
old_fatal *args
|
35
64
|
end
|
36
|
-
old_fatal *args
|
37
65
|
end
|
38
66
|
|
39
|
-
|
40
|
-
|
67
|
+
# Extended configuration for Logger
|
68
|
+
def configure config={}, &formatter
|
69
|
+
@config = (config[:log] || config).dup
|
41
70
|
@config[:beeps] ||= 0
|
42
71
|
@config[:time_format] ||= @config[:time] || '%M:%S.%N'
|
43
|
-
|
44
|
-
@config[:
|
45
|
-
|
46
|
-
@config[:
|
72
|
+
|
73
|
+
unless @config[:ignore] # fatal errors
|
74
|
+
@config[:progname] = config[:progname] || ''
|
75
|
+
@config[:tag] = config[:tag] || config[:name] || config[:connection] && config[:env] ?
|
76
|
+
"#{config[:env]}#{config[:connection][:client_id]}" : "Tag#{rand(10000)}"
|
77
|
+
input = case @config[:input]
|
78
|
+
when Symbol
|
79
|
+
INPUTS[@config[:input]]
|
80
|
+
when nil
|
81
|
+
INPUTS[:opts]
|
82
|
+
else
|
83
|
+
@config[:input]
|
84
|
+
end
|
85
|
+
domain ||= @config[:domain] || 'https://logs.loggly.com'
|
86
|
+
@config[:fatal] ||= Logglier.new "#{domain}/inputs/#{input}",
|
87
|
+
:read_timeout => 3,
|
88
|
+
:open_timeout => 3,
|
89
|
+
:threaded => true,
|
90
|
+
:format => :json
|
47
91
|
end
|
48
92
|
|
49
93
|
self.level = @config[:level] || Logger::INFO
|
@@ -52,20 +96,3 @@ class Logger
|
|
52
96
|
end
|
53
97
|
end
|
54
98
|
end
|
55
|
-
|
56
|
-
# Object#raise extensions
|
57
|
-
|
58
|
-
alias old_raise raise
|
59
|
-
|
60
|
-
# Sound alarm before raising error
|
61
|
-
def raise error
|
62
|
-
ex = error.kind_of?(String) ? RuntimeError.new(error) : error.exception
|
63
|
-
|
64
|
-
if defined?(log) && log.config
|
65
|
-
log.sound_alarm
|
66
|
-
log.fatal ex
|
67
|
-
else
|
68
|
-
Logger.sound_alarm
|
69
|
-
end
|
70
|
-
old_raise ex #, ex.message, caller #ex.backtrace
|
71
|
-
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: releaseable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- arvicco
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-01-
|
13
|
+
date: 2012-01-29 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|