logdna 1.0.1 → 1.0.2
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/README.md +9 -7
- data/lib/logdna/client.rb +10 -7
- data/lib/logdna/resources.rb +1 -0
- data/lib/logdna/version.rb +1 -1
- data/logdna.gemspec +3 -4
- data/test.rb +42 -0
- metadata +8 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffae5e4ece7f38e30873cd4c0c2c3ab09a20dc4d
|
4
|
+
data.tar.gz: a1c0016a4717d6dce43ae7dbd6ec86dabbe7a2d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 042d7396a605143d73bf42ed63ca4b8ee2b83b236d5de549eeba5b88c0bb43f7bf5b56172974ff1a51e6bd515f7653f4a49e8c9eda69c53eeb15f978c24faddd
|
7
|
+
data.tar.gz: 85f31559649c616406703bee27298cc75c5df975cd5e64a0a348741699f7f2b2f0f211fa3bbeac848b22be9af48862698ff014993037637a6f16a40dd0e29aa4
|
data/README.md
CHANGED
@@ -9,8 +9,8 @@
|
|
9
9
|
---
|
10
10
|
|
11
11
|
* **[Installation](#installation)**
|
12
|
+
* **[Quick Setup](#quick-setup)**
|
12
13
|
* **[API](#api)**
|
13
|
-
* **[Development](#development)**
|
14
14
|
* **[Contributing](#contributing)**
|
15
15
|
* **[License](#license)**
|
16
16
|
|
@@ -44,11 +44,12 @@ to set up the logger.
|
|
44
44
|
Options are optional variables that may contain hostname, app name, mac address, ip address, log level specified.
|
45
45
|
|
46
46
|
options = {
|
47
|
-
:hostname => myHostName
|
48
|
-
:ip => myIpAddress
|
49
|
-
:mac => myMacAddress
|
50
|
-
:app => myAppName
|
47
|
+
:hostname => myHostName,
|
48
|
+
:ip => myIpAddress,
|
49
|
+
:mac => myMacAddress,
|
50
|
+
:app => myAppName,
|
51
51
|
:level => "INFO" # LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'] or your customized log level
|
52
|
+
:env => "PRODUCTION"
|
52
53
|
}
|
53
54
|
|
54
55
|
|
@@ -71,11 +72,12 @@ You can change a particular message's log level.
|
|
71
72
|
|
72
73
|
You can also send a metadata with your message by specifying 'meta' field
|
73
74
|
|
74
|
-
logger.log('This is a message with metadata', {:meta => {:once => {:first =>
|
75
|
+
logger.log('This is a message with metadata', {:meta => {:once => {:first => "nested1", :another => "nested2"}}, :level => "TRACE"})
|
75
76
|
|
76
77
|
|
77
78
|
Hostname and app name cannot be more than 80 characters.
|
78
79
|
|
80
|
+
You can search logs by environment in a form of 'env:staging' or '_env:staging' in logdna search bar.
|
79
81
|
|
80
82
|
|
81
83
|
# Important Notes
|
@@ -84,7 +86,6 @@ Hostname and app name cannot be more than 80 characters.
|
|
84
86
|
2. This logger is a singleton (do not create mutiple instances of the logger) even though the singleton structure is not strongly enforced.
|
85
87
|
|
86
88
|
|
87
|
-
|
88
89
|
# API
|
89
90
|
|
90
91
|
## Logdna::Ruby.new(ingestion_key, options = {})
|
@@ -98,6 +99,7 @@ Instantiates a new instance of the class it is called on. ingestion_key is requi
|
|
98
99
|
|{ :ip => IP address } | Nil |
|
99
100
|
|{ :app => App name } | 'default' |
|
100
101
|
|{ :level => Log level } | 'INFO' |
|
102
|
+
|{ :env => STAGING, PRODUCTION .. etc} | Nil |
|
101
103
|
|{ :flushtime => Log flush interval in seconds } | 0.25 seconds |
|
102
104
|
|{ :flushbyte => Log flush upper limit in bytes } | 500000 bytes ~= 0.5 megabytes |
|
103
105
|
|
data/lib/logdna/client.rb
CHANGED
@@ -17,8 +17,9 @@ module Logdna
|
|
17
17
|
:ip => opts.key?(:ip) ? "&ip=#{opts[:ip]}" : "",
|
18
18
|
:mac => opts.key?(:mac) ? "&mac=#{opts[:mac]}" : "",
|
19
19
|
:app => (opts[:app] ||= "default"),
|
20
|
-
:level => (opts[:level] ||= "INFO")
|
21
|
-
|
20
|
+
:level => (opts[:level] ||= "INFO"),
|
21
|
+
:env => (opts[:env])
|
22
|
+
}.reject { |k,v| k === :env && v.nil? }
|
22
23
|
|
23
24
|
begin
|
24
25
|
if (@qs[:hostname].size > Resources::MAX_INPUT_LENGTH || @qs[:app].size > Resources::MAX_INPUT_LENGTH )
|
@@ -73,16 +74,15 @@ module Logdna
|
|
73
74
|
rescue Encoding::UndefinedConversionError => e
|
74
75
|
raise e
|
75
76
|
end
|
76
|
-
|
77
77
|
unless @semaphore.locked?
|
78
78
|
@currentbytesize += msg.bytesize
|
79
|
-
|
80
79
|
@firstbuff.push({
|
81
80
|
:line => msg,
|
82
81
|
:app => @qs[:app],
|
83
82
|
:level => opts[:level] ||= @qs[:level],
|
84
83
|
:timestamp => Time.now.to_i,
|
85
|
-
:meta => opts[:meta] ||= nil
|
84
|
+
:meta => opts[:meta] ||= nil,
|
85
|
+
:env => (opts[:env]) ? opts[:env] : (@qs[:env]) ? @qs[:env] : nil
|
86
86
|
}.reject { |k,v| k === :meta && v.nil? })
|
87
87
|
else
|
88
88
|
@secondbytesize += msg.bytesize
|
@@ -91,7 +91,8 @@ module Logdna
|
|
91
91
|
:app => @qs[:app],
|
92
92
|
:level => opts[:level] ||= @qs[:level],
|
93
93
|
:timestamp => Time.now.to_i,
|
94
|
-
:meta => opts[:meta] ||= nil
|
94
|
+
:meta => opts[:meta] ||= nil,
|
95
|
+
:env => (opts[:env]) ? opts[:env] : (@qs[:env]) ? @qs[:env] : nil
|
95
96
|
}.reject { |k,v| k === :meta && v.nil? })
|
96
97
|
end
|
97
98
|
|
@@ -108,7 +109,9 @@ module Logdna
|
|
108
109
|
@response = Net::HTTP.start(@uri.hostname, @uri.port, :use_ssl => @uri.scheme == 'https') do |http|
|
109
110
|
http.request(@request)
|
110
111
|
end
|
111
|
-
|
112
|
+
unless @firstbuff.empty?
|
113
|
+
puts "Result: #{@response.body}"
|
114
|
+
end
|
112
115
|
@currentbytesize = @secondbytesize
|
113
116
|
@secondbytesize = 0
|
114
117
|
@firstbuff = []
|
data/lib/logdna/resources.rb
CHANGED
data/lib/logdna/version.rb
CHANGED
data/logdna.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = 'Gun Woo Choi'
|
10
10
|
spec.email = 'matt.choi@logdna.com'
|
11
11
|
|
12
|
-
spec.summary = 'LogDNA
|
12
|
+
spec.summary = 'LogDNA Ruby logger'
|
13
13
|
spec.homepage = 'https://github.com/logdna/ruby'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
@@ -20,9 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_runtime_dependency 'concurrent-ruby', '~> 1.0
|
24
|
-
spec.add_runtime_dependency 'json', '~> 2.0
|
25
|
-
spec.add_runtime_dependency 'openssl', '~> 2.0.3'
|
23
|
+
spec.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
|
24
|
+
spec.add_runtime_dependency 'json', '~> 2.0'
|
26
25
|
|
27
26
|
spec.add_development_dependency 'bundler', '~> 1.13'
|
28
27
|
spec.add_development_dependency 'rake', '~> 10.5'
|
data/test.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'require_all'
|
2
|
+
require_all 'lib'
|
3
|
+
|
4
|
+
options = {
|
5
|
+
:level => "INFO", # LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'] or your customized log level
|
6
|
+
:flushtime => 0.1,
|
7
|
+
:env => 'PRODUCTION'
|
8
|
+
}
|
9
|
+
|
10
|
+
options2 = {
|
11
|
+
:level => "INFO", # LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'] or your customized log level
|
12
|
+
:flushtime => 0.1,
|
13
|
+
:env => 'STAGING'
|
14
|
+
}
|
15
|
+
|
16
|
+
options3 = {
|
17
|
+
:level => "INFO", # LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'] or your customized log level
|
18
|
+
:flushtime => 0.1,
|
19
|
+
}
|
20
|
+
|
21
|
+
options4 = {
|
22
|
+
:level => "INFO", # LOG_LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'] or your customized log level
|
23
|
+
:flushtime => 0.1,
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
logger = Logdna::Ruby.new('your-ingestion-key', options)
|
30
|
+
logger.log('1No metadata, production env')
|
31
|
+
|
32
|
+
logger = Logdna::Ruby.new('your-ingestion-key', options2)
|
33
|
+
logger.log('2With metadata, staging env', {:meta => {:once => {:first => "nested1", :another => "nested2"}}, :level => "TRACE"})
|
34
|
+
|
35
|
+
logger = Logdna::Ruby.new('your-ingestion-key', options3)
|
36
|
+
logger.log('3No metadata, development env changed to production env', {:level => "TRACE", :env => "PRODUCTION"})
|
37
|
+
|
38
|
+
logger = Logdna::Ruby.new('your-ingestion-key', options4)
|
39
|
+
logger.log('4No metadata, no env')
|
40
|
+
|
41
|
+
|
42
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logdna
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gun Woo Choi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -16,42 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.0
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.0
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.0
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: openssl
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 2.0.3
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 2.0.3
|
40
|
+
version: '2.0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: bundler
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,6 +111,7 @@ files:
|
|
125
111
|
- lib/logdna/resources.rb
|
126
112
|
- lib/logdna/version.rb
|
127
113
|
- logdna.gemspec
|
114
|
+
- test.rb
|
128
115
|
homepage: https://github.com/logdna/ruby
|
129
116
|
licenses:
|
130
117
|
- MIT
|
@@ -148,5 +135,5 @@ rubyforge_project:
|
|
148
135
|
rubygems_version: 2.6.11
|
149
136
|
signing_key:
|
150
137
|
specification_version: 4
|
151
|
-
summary: LogDNA
|
138
|
+
summary: LogDNA Ruby logger
|
152
139
|
test_files: []
|