logdna 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 447bf5da9312c5a9be6739a3fcc818cd8f847f38
4
- data.tar.gz: 7f9745d98cb994409e5c769d239254e01ce2d27f
3
+ metadata.gz: ffae5e4ece7f38e30873cd4c0c2c3ab09a20dc4d
4
+ data.tar.gz: a1c0016a4717d6dce43ae7dbd6ec86dabbe7a2d9
5
5
  SHA512:
6
- metadata.gz: aa969ca39b5e67c94882ba20b954c6abdca39600de8a0868c53be10e62bd414442f856d9420b334ff3cf212fca92fe2a244f2ada3b98f373fd73342807a43be0
7
- data.tar.gz: 1736031941fec54f870e82708f6312acb0a4fe09cef45f6a10ce0f7c2fdfe07606f9c5b97652fb160711e3cc54ac9c6d5da682ade9b31f38970c5b6b043161fe
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 => {"nested1", "nested2"}, "second"}}, :level => "TRACE"})
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
- puts "Result: #{@response.body}"
112
+ unless @firstbuff.empty?
113
+ puts "Result: #{@response.body}"
114
+ end
112
115
  @currentbytesize = @secondbytesize
113
116
  @secondbytesize = 0
114
117
  @firstbuff = []
@@ -15,4 +15,5 @@ module Resources
15
15
  IP_ADDR_CHECK = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
16
16
  LOGGER_NOT_CREATED = "LOGGER_NOT_CREATED"
17
17
  LOGGER_CREATED = "LOGGER_CREATED"
18
+
18
19
  end
@@ -1,3 +1,3 @@
1
1
  module LogDNA
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.0.2'.freeze
3
3
  end
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 extension to ruby logger'
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.5'
24
- spec.add_runtime_dependency 'json', '~> 2.0.2'
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.1
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-24 00:00:00.000000000 Z
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.5
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.5
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.2
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.2
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 extension to ruby logger
138
+ summary: LogDNA Ruby logger
152
139
  test_files: []