semlogr-sinks-logentries 0.1.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 +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.rubocop.yml +17 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/README.md +51 -0
- data/Rakefile +8 -0
- data/bin/console +7 -0
- data/bin/setup +7 -0
- data/lib/semlogr/sinks/logentries.rb +11 -0
- data/lib/semlogr/sinks/logentries/sink.rb +22 -0
- data/lib/semlogr/sinks/logentries/version.rb +7 -0
- data/semlogr-sinks-logentries.gemspec +29 -0
- metadata +154 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c5558ada7374ab3f2655bf95098d4e9325c1581b
|
4
|
+
data.tar.gz: 892b3436dec958f35a7595050b5416019800cc74
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ec461ff41edacffaae66f3d3b03ec76469782cb3c4b2f26db1a817469e999b0a787855ad62b5d4288b334d0ebef65496b63e99c64e8eaf7e1bab9df04a940b90
|
7
|
+
data.tar.gz: be742c3a4ed2de32201d0eadc9cd2c750d81e0ac85fefb134347898342b309b9d261921b731c3f6b1dc532aec6bb620c527dfd551e18297b16b83e98c89bebb4
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.2
|
3
|
+
|
4
|
+
Documentation:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
Metrics/AbcSize:
|
8
|
+
Max: 24
|
9
|
+
Metrics/CyclomaticComplexity:
|
10
|
+
Max: 8
|
11
|
+
Metrics/LineLength:
|
12
|
+
Max: 120
|
13
|
+
Metrics/MethodLength:
|
14
|
+
Max: 20
|
15
|
+
|
16
|
+
Style/MultilineMethodCallIndentation:
|
17
|
+
EnforcedStyle: indented
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
# Logenties sink for Semlogr
|
4
|
+
|
5
|
+
This sink provides support for writing logs to [logentries](https://logentries.com/), the sink currently makes use of the device within the logstash-logger gem which provides a buffered device
|
6
|
+
for writing entries to logentries in batches and saved me a bunch of time to get this sink off the ground.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
To install:
|
11
|
+
|
12
|
+
gem install semlogr-sinks-logentries
|
13
|
+
|
14
|
+
Or if using bundler, add semlogr to your Gemfile:
|
15
|
+
|
16
|
+
gem 'semlogr-sinks-logentries'
|
17
|
+
|
18
|
+
then:
|
19
|
+
|
20
|
+
bundle install
|
21
|
+
|
22
|
+
## Getting Started
|
23
|
+
|
24
|
+
Create an instance of the logger configuring the logentries sink with your token.
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
require 'semlogr'
|
28
|
+
require 'semlogr/sinks/logentries'
|
29
|
+
|
30
|
+
logger = Semlogr::Logger.create do |c|
|
31
|
+
c.log_at(Semlogr::LogSeverity::INFO)
|
32
|
+
|
33
|
+
c.write_to(Semlogr::Sinks::Logentries.new('TOKEN'))
|
34
|
+
end
|
35
|
+
|
36
|
+
logger.info('Customer {customer_id} did something interesting', customer_id: 1234)
|
37
|
+
```
|
38
|
+
|
39
|
+
## Development
|
40
|
+
|
41
|
+
After cloning the repository run `bundle install` to get up and running, to run the specs just run `rake spec`.
|
42
|
+
|
43
|
+
## Changes
|
44
|
+
|
45
|
+
### 0.1.0
|
46
|
+
|
47
|
+
- Initial commit.
|
48
|
+
|
49
|
+
## Contributing
|
50
|
+
|
51
|
+
See anything broken or something you would like to improve? feel free to submit an issue or better yet a pull request!
|
data/Rakefile
ADDED
data/bin/console
ADDED
data/bin/setup
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'logstash-logger'
|
2
|
+
require 'semlogr/sinks/logentries/version'
|
3
|
+
require 'semlogr/formatters/json_formatter'
|
4
|
+
|
5
|
+
module Semlogr
|
6
|
+
module Sinks
|
7
|
+
module Logentries
|
8
|
+
class Sink
|
9
|
+
def initialize(token)
|
10
|
+
@token = token
|
11
|
+
@formatter = Formatters::JsonFormatter.new
|
12
|
+
@device = LogStashLogger::Device.new(type: :tcp, host: 'data.logentries.com', port: 443, use_ssl: true)
|
13
|
+
end
|
14
|
+
|
15
|
+
def emit(log_event)
|
16
|
+
output = @formatter.format(log_event)
|
17
|
+
@device.write("#{@token} #{output}")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'semlogr/sinks/logentries/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'semlogr-sinks-logentries'
|
8
|
+
spec.version = Semlogr::Sinks::Logentries::VERSION
|
9
|
+
spec.authors = ['Stefan Sedich']
|
10
|
+
spec.email = ['stefan.sedich@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = 'A semlogr sink for logging to logentries.'
|
13
|
+
spec.description = 'A semlogr sink for logging to logentries.'
|
14
|
+
spec.homepage = 'https://github.com/semlogr/semlogr-sinks-logentries'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
|
+
spec.bindir = 'exe'
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_dependency 'semlogr', '~> 0.1.1'
|
22
|
+
spec.add_dependency 'logstash-logger', '~> 0.19.2'
|
23
|
+
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.13'
|
25
|
+
spec.add_development_dependency 'pry', '~> 0.10.3'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
27
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
28
|
+
spec.add_development_dependency 'rubocop', '~> 0.43'
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: semlogr-sinks-logentries
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Stefan Sedich
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-11-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: semlogr
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.1.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.1.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: logstash-logger
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.19.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.19.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.13'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.13'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.10.3
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.10.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.43'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.43'
|
111
|
+
description: A semlogr sink for logging to logentries.
|
112
|
+
email:
|
113
|
+
- stefan.sedich@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rspec"
|
120
|
+
- ".rubocop.yml"
|
121
|
+
- ".travis.yml"
|
122
|
+
- Gemfile
|
123
|
+
- README.md
|
124
|
+
- Rakefile
|
125
|
+
- bin/console
|
126
|
+
- bin/setup
|
127
|
+
- lib/semlogr/sinks/logentries.rb
|
128
|
+
- lib/semlogr/sinks/logentries/sink.rb
|
129
|
+
- lib/semlogr/sinks/logentries/version.rb
|
130
|
+
- semlogr-sinks-logentries.gemspec
|
131
|
+
homepage: https://github.com/semlogr/semlogr-sinks-logentries
|
132
|
+
licenses: []
|
133
|
+
metadata: {}
|
134
|
+
post_install_message:
|
135
|
+
rdoc_options: []
|
136
|
+
require_paths:
|
137
|
+
- lib
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
requirements: []
|
149
|
+
rubyforge_project:
|
150
|
+
rubygems_version: 2.6.7
|
151
|
+
signing_key:
|
152
|
+
specification_version: 4
|
153
|
+
summary: A semlogr sink for logging to logentries.
|
154
|
+
test_files: []
|