fluent-plugin-light-core 0.2.2 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de6963e9c755b56d0c56eb2efe8d5144b66ea1463dd826c90ab71f5b65a72f37
4
- data.tar.gz: f37743b84fc9a68940c488e06903a71725ffbb14a0a7a02c2203a19074f22940
3
+ metadata.gz: aa263e49f613865247d281b1bb9f5cd65df261da7047466a11c428d77742f4c2
4
+ data.tar.gz: 763f163046a38dca3a9341bfdcc36a18a1da34a9fa9bc78933983ba7c2c955ba
5
5
  SHA512:
6
- metadata.gz: 2d3fb8390aaf781220b4e288819c1f14c063a50c58ea850ef8b55ae63005ed3db03653b7e81f6cf349cfac04ca5259c2a4e2c73ec83003ed8290fefe9e187c1b
7
- data.tar.gz: b89a10c9a2581a781536e06f4b7285c066ef1ec73f4a033bd646c7c2759e9de00a2a5227a5afa98ec406737390fd37c2212086a4cf33ccd7cab3addac4ec4787
6
+ metadata.gz: ed1cb6b3a76b067dd3734bc9fa446211e6b4e3fbb2abf179327f18b47f88ca8c6dc5c5fe23711872b3a40fbd471bfe193363469fc10b37ffa63bb0329886ad15
7
+ data.tar.gz: 950534c7d8bc3c443eb442e6d3d6bcf0a81c0cd7c66f6ef94dc55122587ca2e31aecd9df4e4303133d51aeb041c1cdbdd60b904c12ba3054df2e9d408f834a95
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  *.log
2
2
  *.pos
3
+ *.gem
data/Gemfile CHANGED
@@ -2,4 +2,6 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- gem "sentry-ruby"
5
+ gem "sentry-ruby"
6
+
7
+ gem "oj", "~> 3.13"
data/Gemfile.lock CHANGED
@@ -1,38 +1,71 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-light-core (0.1.0)
5
- fluentd (>= 0.14.10, < 2)
4
+ fluent-plugin-light-core (0.2.3)
5
+ fluentd (>= 1.14.2, < 2)
6
+ sentry-ruby (>= 4.8.0, < 5)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- cool.io (1.6.0)
11
- fluentd (1.11.2)
11
+ concurrent-ruby (1.1.9)
12
+ cool.io (1.7.1)
13
+ faraday (1.8.0)
14
+ faraday-em_http (~> 1.0)
15
+ faraday-em_synchrony (~> 1.0)
16
+ faraday-excon (~> 1.1)
17
+ faraday-httpclient (~> 1.0.1)
18
+ faraday-net_http (~> 1.0)
19
+ faraday-net_http_persistent (~> 1.1)
20
+ faraday-patron (~> 1.0)
21
+ faraday-rack (~> 1.0)
22
+ multipart-post (>= 1.2, < 3)
23
+ ruby2_keywords (>= 0.0.4)
24
+ faraday-em_http (1.0.0)
25
+ faraday-em_synchrony (1.0.0)
26
+ faraday-excon (1.1.0)
27
+ faraday-httpclient (1.0.1)
28
+ faraday-net_http (1.0.1)
29
+ faraday-net_http_persistent (1.2.0)
30
+ faraday-patron (1.0.0)
31
+ faraday-rack (1.0.0)
32
+ fluentd (1.14.2)
33
+ bundler
12
34
  cool.io (>= 1.4.5, < 2.0.0)
13
- http_parser.rb (>= 0.5.1, < 0.7.0)
35
+ http_parser.rb (>= 0.5.1, < 0.8.0)
14
36
  msgpack (>= 1.3.1, < 2.0.0)
15
- serverengine (>= 2.0.4, < 3.0.0)
37
+ serverengine (>= 2.2.2, < 3.0.0)
16
38
  sigdump (~> 0.2.2)
17
- strptime (>= 0.2.2, < 1.0.0)
39
+ strptime (>= 0.2.4, < 1.0.0)
18
40
  tzinfo (>= 1.0, < 3.0)
19
41
  tzinfo-data (~> 1.0)
42
+ webrick (>= 1.4.2, < 1.8.0)
20
43
  yajl-ruby (~> 1.0)
21
- http_parser.rb (0.6.0)
22
- msgpack (1.3.3)
44
+ http_parser.rb (0.7.0)
45
+ msgpack (1.4.2)
46
+ multipart-post (2.1.1)
47
+ oj (3.13.9)
23
48
  power_assert (1.1.3)
24
49
  rake (12.3.2)
25
- serverengine (2.2.1)
50
+ ruby2_keywords (0.0.5)
51
+ sentry-ruby (4.8.0)
52
+ concurrent-ruby (~> 1.0, >= 1.0.2)
53
+ faraday (>= 1.0)
54
+ sentry-ruby-core (= 4.8.0)
55
+ sentry-ruby-core (4.8.0)
56
+ concurrent-ruby
57
+ faraday
58
+ serverengine (2.2.4)
26
59
  sigdump (~> 0.2.2)
27
60
  sigdump (0.2.4)
28
- strptime (0.2.4)
61
+ strptime (0.2.5)
29
62
  test-unit (3.2.9)
30
63
  power_assert
31
- thread_safe (0.3.6)
32
- tzinfo (1.2.5)
33
- thread_safe (~> 0.1)
34
- tzinfo-data (1.2020.1)
64
+ tzinfo (2.0.4)
65
+ concurrent-ruby (~> 1.0)
66
+ tzinfo-data (1.2021.5)
35
67
  tzinfo (>= 1.0.0)
68
+ webrick (1.7.0)
36
69
  yajl-ruby (1.4.1)
37
70
 
38
71
  PLATFORMS
@@ -41,7 +74,9 @@ PLATFORMS
41
74
  DEPENDENCIES
42
75
  bundler (~> 1.14)
43
76
  fluent-plugin-light-core!
77
+ oj (~> 3.13)
44
78
  rake (~> 12.0)
79
+ sentry-ruby
45
80
  test-unit (~> 3.0)
46
81
 
47
82
  BUNDLED WITH
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-light-core"
6
- spec.version = "0.2.2"
6
+ spec.version = "0.2.6"
7
7
  spec.authors = ["LIN LI"]
8
8
  spec.email = ["l.li@alphabets.cn"]
9
9
 
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.14"
24
24
  spec.add_development_dependency "rake", "~> 12.0"
25
25
  spec.add_development_dependency "test-unit", "~> 3.0"
26
- spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
27
- spec.add_runtime_dependency "sentry-ruby", [">= 4.1.5", "< 5"]
26
+ spec.add_runtime_dependency "fluentd", [">= 1.14.2", "< 2"]
27
+ spec.add_runtime_dependency "sentry-ruby", [">= 4.8.0", "< 5"]
28
+ spec.add_runtime_dependency "oj", [">= 3.13", "< 4"]
28
29
  end
@@ -131,9 +131,9 @@ module Fluent
131
131
  record['method'] = item[:method]
132
132
  record['url'] = item[:url]
133
133
  record['status'] = item[:status]
134
- record['size'] = format_str(item[:size])
134
+ record['size'] = str_to_num(item[:size])
135
135
  record['uid'] = item[:uid]
136
- record['elapsed'] = format_str(item[:elapsed])
136
+ record['elapsed'] = str_to_num(item[:elapsed])
137
137
  record['addr'] = item[:addr].gsub(/\n$/, '')
138
138
 
139
139
  return record
@@ -170,10 +170,10 @@ module Fluent
170
170
  record['method'] = item[:method]
171
171
  record['path'] = item[:path]
172
172
  record['code'] = item[:code]
173
- record['size'] = format_str(item[:size])
173
+ record['size'] = str_to_num(item[:size])
174
174
  record['referer'] = item[:referer]
175
175
  record['agent'] = item[:agent]
176
- record['elapsed'] = format_str(item[:elapsed])
176
+ record['elapsed'] = str_to_num(item[:elapsed])
177
177
  record['requestid'] = item[:requestid]
178
178
  record['sessionid'] = item[:sessionid]
179
179
 
@@ -184,7 +184,7 @@ module Fluent
184
184
  if /^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2} \[error\]/.match(log)
185
185
  item = /^(?<time>[^ ]+ [^ ]+) \[(?<level>.*)\] (?<pid>\d*)#(?<tid>[^:]*): \*(?<cid>\d*) (?<message>.*)$/.match(log)
186
186
 
187
- record['time'] = item[:time]
187
+ record['time'] = record['ctime']
188
188
  record['level'] = item[:level]
189
189
  record['message'] = item[:message]
190
190
  record['process'] = item[:pid] # process id
@@ -225,61 +225,26 @@ module Fluent
225
225
  record.delete('file')
226
226
  record.delete('time')
227
227
 
228
- # 旧版本日志格式解析
229
- if /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}\+\d{4} [A-Z]/.match(log)
230
-
231
- item = /^(?<time>[^ ]*) (?<severity>[A-Z])\s* (?<component>(-|([^ ]*)))\s* \[(?<context>[^\]]*)\]\s* ((?<query>.*) protocol:op_query (?<querytime>[\d\.]+(?=ms))|(?<message>.*))/.match(log)
232
-
233
- record['time'] = item[:time]
234
- record['severity'] = item[:severity]
235
- record['component'] = item[:component]
236
- record['context'] = item[:context]
237
-
238
- if item[:message]
239
- record['message'] = item[:message]
240
- return record
241
- end
242
-
243
- if item[:querytime]
244
- record['querytime'] = format_str(item[:querytime])
245
- end
246
-
247
- if item[:query]
248
- record['command'] = item[:query]
249
- query = /^command\s* (?<collection>[^ ]*) (?<command>.*)$/.match(item[:query])
250
- unless query.nil?
251
- record['collection'] = query[:collection]
252
- record['command'] = query[:command]
253
- end
254
- end
255
-
256
- return record
257
- else
258
-
259
- # 版本4.4开始,默认日志为json格式
260
- item = JSON.parse(log)
261
- record['time'] = item['t']['$date']
262
- record['severity'] = item['s']
263
- record['component'] = item['c']
264
- record['context'] = item['ctx']
265
- record['identifier'] = item['id']
266
- record['message'] = item['msg']
267
-
268
- attributes = item['attr']
269
- if attributes
270
- record['querytime'] = attributes['durationMillis']
271
- record['collection'] = attributes['ns']
272
- record['command'] = attributes['command']
273
- record['attr'] = attributes
274
- end
275
-
276
- record['tags'] = item['tags']
277
- record['truncated'] = item['truncated']
278
- record['size'] = item['size']
279
-
280
- return record
228
+ # 版本4.4开始,默认日志为json格式
229
+ item = JSON.parse(log)
230
+ record['time'] = item['t']['$date']
231
+ record['severity'] = item['s']
232
+ record['component'] = item['c']
233
+ record['context'] = item['ctx']
234
+ record['identifier'] = item['id']
235
+ record['message'] = item['msg']
236
+
237
+ attributes = item['attr']
238
+ if attributes
239
+ record['querytime'] = attributes['durationMillis']
240
+ record['collection'] = attributes['ns']
241
+ record['command'] = attributes['command']
242
+ record['attr'] = attributes
281
243
  end
282
244
 
245
+ record['tags'] = item['tags']
246
+ record['truncated'] = item['truncated']
247
+ record['size'] = item['size']
283
248
  record
284
249
  end
285
250
 
@@ -292,16 +257,15 @@ module Fluent
292
257
 
293
258
  if tag == 'app'
294
259
 
295
- # 未使用
296
260
  if @app_stream && record['stream']
297
- send(record) if record['stream'] == @app_stream
261
+ message = 'Stream error' + record['stream']
262
+ send(tag, message, record) if record['stream'] == @app_stream
298
263
  end
299
264
 
300
- # 未使用
301
265
  if @app_message.length > 0 && record['message']
302
266
  @app_message.each do |pattern|
303
267
  if pattern.match(record['message'])
304
- send(record)
268
+ send(tag, record['message'], record)
305
269
  break
306
270
  end
307
271
  end
@@ -365,11 +329,13 @@ module Fluent
365
329
  # 发送UDP请求
366
330
  def send(tag, message, record)
367
331
  log.debug('send udp notice')
368
- Sentry.capture_message(message, :extra => record, :tags => {'log' => tag})
332
+ log.info(message)
333
+ # Sentry.capture_message(message, :extra => record, :tags => {'log' => tag})
369
334
  end
370
335
 
371
336
  # 转数字
372
- def format_str(str)
337
+ def str_to_num(str)
338
+ return 0 if (str == '-')
373
339
  return str.to_i if (str =~ /^\d+$/)
374
340
  return str.to_f if (str =~ /^\d+\.\d+$/)
375
341
  str
data/sample/README.md CHANGED
@@ -42,3 +42,8 @@ Initialized empty Git repository in /Users/lilin/developer/light/fluent-plugin-l
42
42
  - 安装依赖
43
43
 
44
44
  gem install sentry-ruby
45
+
46
+ - 更新依赖版本
47
+
48
+ bundle install
49
+ 会修改Gemfile.lock文件
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-light-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - LIN LI
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-12 00:00:00.000000000 Z
11
+ date: 2021-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.14.10
61
+ version: 1.14.2
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
64
  version: '2'
@@ -68,7 +68,7 @@ dependencies:
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: 0.14.10
71
+ version: 1.14.2
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '2'
@@ -78,7 +78,7 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: 4.1.5
81
+ version: 4.8.0
82
82
  - - "<"
83
83
  - !ruby/object:Gem::Version
84
84
  version: '5'
@@ -88,10 +88,30 @@ dependencies:
88
88
  requirements:
89
89
  - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: 4.1.5
91
+ version: 4.8.0
92
92
  - - "<"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '5'
95
+ - !ruby/object:Gem::Dependency
96
+ name: oj
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '3.13'
102
+ - - "<"
103
+ - !ruby/object:Gem::Version
104
+ version: '4'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '3.13'
112
+ - - "<"
113
+ - !ruby/object:Gem::Version
114
+ version: '4'
95
115
  description: light core fluent plugin. support mongodb, nginx and application
96
116
  email:
97
117
  - l.li@alphabets.cn
@@ -116,7 +136,7 @@ homepage: https://git.alphabets.cn/light/fluent-plugin-light-core
116
136
  licenses:
117
137
  - Apache-2.0
118
138
  metadata: {}
119
- post_install_message:
139
+ post_install_message:
120
140
  rdoc_options: []
121
141
  require_paths:
122
142
  - lib
@@ -132,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
152
  version: '0'
133
153
  requirements: []
134
154
  rubygems_version: 3.0.3
135
- signing_key:
155
+ signing_key:
136
156
  specification_version: 4
137
157
  summary: light core fluent plugin.
138
158
  test_files: