restash_rails 0.1.7 → 0.2.1
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/.travis.yml +15 -2
- data/lib/restash_rails/logger.rb +18 -4
- data/lib/restash_rails/version.rb +1 -1
- data/restash_rails.gemspec +2 -2
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1345e42b815d953f6ac46464983868a4b2b3860d
|
4
|
+
data.tar.gz: 531b9b6ee7571d592d26e491cb399ef87b7363d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f932fbeec5c1ac0382e692ce884e318084693c1607bcda7580e4e2d7330a290815a6078c69bb2dce5bdebbe25ca61e264a7ef27eb36b93487dfb188bb635f33
|
7
|
+
data.tar.gz: e8fc82c7ce76052261d466875a629a80c8c9bbe9d74c3555fc26c534f7adc8cd1a040462d9f009c5f9a6b5dc46c5bf50eb2a3a9a1f7266e9d27c1f42f1793b99
|
data/.travis.yml
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
|
5
|
-
|
4
|
+
- 2.4
|
5
|
+
- head
|
6
|
+
matrix:
|
7
|
+
allow_failures:
|
8
|
+
- rvm: head
|
9
|
+
before_install: gem install bundler
|
10
|
+
deploy:
|
11
|
+
provider: rubygems
|
12
|
+
api_key:
|
13
|
+
secure: qs/Ss9SJXZWG+ScR0hmjUAyQEq5+e/xq0Pp+ppeGtItpL577s40NWcGsX+F/oxWLu6GK+T6pOCxQmU43ezOAjC96lXJpnfY3FFR+F4CJcOE+K+I2W67JZeaXHsAXOhOIh3wLrevsoAJkMpps+GrY907dUQWIdbNSsu0yk1LCew1r7Alz3ziEz7vCJ6XBwIW3TrF+Xx8o+JB7Y3shPCzGFrZ+PTSnE4Qgp/SwsVcsKrAaxsb4EKOB/UKR6Ph3bHrs7zEeoIY/nUjOKM077aNcVifgynhc3BZNTe3TsOssNS7MeMk19tThOE5opiNhz5fPc6tEjgIQXvwrYnQhiwQ4MhTxZuCduPVGVvsCoxgEH0WFjyDBwDNrTBpBo8fBahGljqqjdtVoPXQ305s5Vo5yG3juvr5E9bXyY8OB7NpRMRXWp4AmPGL0x6SFGPguW22tG8xKrn6wKalrbBG3dwJVt6AVq6xgZyGSh70iMCTVESk5J/yI9wlrWE+4+UsCYNMkGPQQaUE13/ehLSovdZA5fNTWcG7uYiIBX88MnhUBh+KSuMkv10r3aexilU228xUnZKzwQv+FaGvUerekpsiiq4dthQaWXnnvx/QtmwXIGHulCUZgB3Ou2fiS8Td2cobIu9777VyfTWuoqqDZjHxOp8a8sI6ylV20oQdefnuQiNk=
|
14
|
+
gem: restash_rails
|
15
|
+
on:
|
16
|
+
rvm: 2.4
|
17
|
+
branch: master
|
18
|
+
repo: YotpoLtd/restash-rails
|
data/lib/restash_rails/logger.rb
CHANGED
@@ -3,7 +3,7 @@ require 'tcp_timeout'
|
|
3
3
|
module RestashRails
|
4
4
|
class Logger
|
5
5
|
include ::Logger::Severity
|
6
|
-
attr_accessor :app_name, :level, :outputter, :formatter, :logstash_host, :logstash_port, :timeout_options
|
6
|
+
attr_accessor :app_name, :level, :outputter, :formatter, :logstash_host, :logstash_port, :timeout_options, :output_type
|
7
7
|
DEFAULT_TIMEOUT = 0.010
|
8
8
|
|
9
9
|
def initialize(configs)
|
@@ -11,6 +11,7 @@ module RestashRails
|
|
11
11
|
@logstash_host = configs[:host] || '127.0.0.1' #logstash host
|
12
12
|
@logstash_port = configs[:port].to_i || 5960 #logstash port
|
13
13
|
@app_name = configs[:app_name] || ENV['APP_NAME'] || Rails.application.class.name
|
14
|
+
@output_type = configs[:output_type] || 'tcp'
|
14
15
|
#TCP connection timeouts in milliseconds
|
15
16
|
if configs[:timeout_options].present?
|
16
17
|
configs[:timeout_options].each{ |k,v| configs[:timeout_options][k] = v.to_f }
|
@@ -19,6 +20,7 @@ module RestashRails
|
|
19
20
|
@timeout_options = { connect_timeout: DEFAULT_TIMEOUT, write_timeout: DEFAULT_TIMEOUT, read_timeout: DEFAULT_TIMEOUT }
|
20
21
|
end
|
21
22
|
set_formatter(configs)
|
23
|
+
@stdout_logger = ::Logger.new(STDOUT)
|
22
24
|
end
|
23
25
|
|
24
26
|
::Logger::Severity.constants.each do |severity|
|
@@ -75,12 +77,24 @@ module RestashRails
|
|
75
77
|
|
76
78
|
def write(data)
|
77
79
|
json_data = data.to_json
|
80
|
+
case @output_type.downcase
|
81
|
+
when 'tcp'
|
82
|
+
write_to_tcp(json_data)
|
83
|
+
when 'stdout'
|
84
|
+
write_to_stdout(json_data, data[:severity].downcase)
|
85
|
+
end
|
86
|
+
rescue => e
|
87
|
+
@stdout_logger.error({ status: "Failed to write data to #{logstash_host}:#{logstash_port}", exception: e, data: data })
|
88
|
+
end
|
89
|
+
|
90
|
+
def write_to_stdout(json_data, severity)
|
91
|
+
@stdout_logger.send(severity, json_data)
|
92
|
+
end
|
93
|
+
|
94
|
+
def write_to_tcp(json_data)
|
78
95
|
sock = ::TCPTimeout::TCPSocket.new(logstash_host, logstash_port, timeout_options)
|
79
96
|
sock.write(json_data)
|
80
97
|
sock.close
|
81
|
-
rescue => e
|
82
|
-
failures_logger = ::Logger.new(STDOUT)
|
83
|
-
failures_logger.error({ status: "Failed to write data to #{logstash_host}:#{logstash_port}", exception: e, data: data })
|
84
98
|
end
|
85
99
|
|
86
100
|
def environment
|
data/restash_rails.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'restash_rails/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'restash_rails'
|
8
8
|
spec.version = RestashRails::VERSION
|
9
|
-
spec.authors = ['dmitri86git']
|
10
|
-
spec.email = ['
|
9
|
+
spec.authors = ['dmitri86git', 'Ariel Cabib', 'Vladislav Shub']
|
10
|
+
spec.email = ['rubygems@yotpo.com']
|
11
11
|
|
12
12
|
spec.summary = 'This gem sends your Rails application logs to logstash.'
|
13
13
|
spec.description = 'Add configurations to application.config.restash_rails and have fun.'
|
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restash_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dmitri86git
|
8
|
+
- Ariel Cabib
|
9
|
+
- Vladislav Shub
|
8
10
|
autorequire:
|
9
11
|
bindir: exe
|
10
12
|
cert_chain: []
|
11
|
-
date: 2017-06
|
13
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: bundler
|
@@ -82,7 +84,7 @@ dependencies:
|
|
82
84
|
version: '0'
|
83
85
|
description: Add configurations to application.config.restash_rails and have fun.
|
84
86
|
email:
|
85
|
-
-
|
87
|
+
- rubygems@yotpo.com
|
86
88
|
executables: []
|
87
89
|
extensions: []
|
88
90
|
extra_rdoc_files: []
|
@@ -138,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
140
|
version: '0'
|
139
141
|
requirements: []
|
140
142
|
rubyforge_project:
|
141
|
-
rubygems_version: 2.6.
|
143
|
+
rubygems_version: 2.6.13
|
142
144
|
signing_key:
|
143
145
|
specification_version: 4
|
144
146
|
summary: This gem sends your Rails application logs to logstash.
|