logster 2.3.0 → 2.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,14 +18,14 @@
18
18
  "test": "ember test"
19
19
  },
20
20
  "devDependencies": {
21
- "@ember/jquery": "^0.5.2",
21
+ "jquery": "3.4.1",
22
22
  "@ember/optional-features": "^0.6.3",
23
23
  "broccoli-asset-rev": "^2.7.0",
24
- "ember-ajax": "^3.1.0",
25
- "ember-cli": "~3.5.0",
24
+ "ember-ajax": "^5.0.0",
25
+ "ember-cli": "~3.8.2",
26
26
  "ember-cli-app-version": "^3.2.0",
27
- "ember-cli-babel": "^6.16.0",
28
- "ember-cli-dependency-checker": "^3.0.0",
27
+ "ember-cli-babel": "^7.1.2",
28
+ "ember-cli-dependency-checker": "^3.1.0",
29
29
  "ember-cli-eslint": "^4.2.3",
30
30
  "ember-cli-htmlbars": "^3.0.0",
31
31
  "ember-cli-htmlbars-inline-precompile": "^1.0.3",
@@ -33,14 +33,14 @@
33
33
  "ember-cli-sri": "^2.1.1",
34
34
  "ember-cli-template-lint": "^1.0.0-beta.1",
35
35
  "ember-cli-uglify": "^2.1.0",
36
- "ember-data": "~3.5.0",
36
+ "ember-data": "~3.8.0",
37
37
  "ember-export-application-global": "^2.0.0",
38
38
  "ember-font-awesome": "^4.0.0-rc.4",
39
39
  "ember-load-initializers": "^1.1.0",
40
40
  "ember-maybe-import-regenerator": "^0.1.6",
41
41
  "ember-qunit": "^3.4.1",
42
42
  "ember-resolver": "^5.0.1",
43
- "ember-source": "~3.5.0",
43
+ "ember-source": "~3.8.0",
44
44
  "ember-welcome-page": "^3.2.0",
45
45
  "eslint-plugin-ember": "^5.2.0",
46
46
  "loader.js": "^4.7.0",
@@ -35,7 +35,7 @@ module Logster
35
35
  when Regexp
36
36
  message.to_s =~ pattern
37
37
  when String
38
- message.to_s =~ Regexp.new(pattern, Regexp::IGNORECASE)
38
+ message.to_s =~ Regexp.new(Regexp.escape(pattern), Regexp::IGNORECASE)
39
39
  when Hash
40
40
  if Hash === message
41
41
  compare_hash(message, pattern)
@@ -73,6 +73,10 @@ module Logster
73
73
  msg
74
74
  end
75
75
 
76
+ def env=(env)
77
+ @env = self.class.scrub_params(env)
78
+ end
79
+
76
80
  def self.hostname
77
81
  @hostname ||= `hostname`.strip! rescue "<unknown>"
78
82
  end
@@ -203,6 +207,23 @@ module Logster
203
207
  end
204
208
  end
205
209
 
210
+ def self.scrub_params(params)
211
+ if Array === params
212
+ params.map! { |p| scrub_params(p) }
213
+ params
214
+ elsif Hash === params
215
+ params.each do |k, v|
216
+ params[k] = scrub_params(v)
217
+ end
218
+ params
219
+ elsif String === params
220
+ scrubbed = params.scrub if !params.valid_encoding?
221
+ scrubbed || params
222
+ else
223
+ params
224
+ end
225
+ end
226
+
206
227
  protected
207
228
 
208
229
  def get_timestamp
@@ -1,3 +1,3 @@
1
1
  module Logster
2
- VERSION = "2.3.0"
2
+ VERSION = "2.3.1"
3
3
  end
@@ -4,11 +4,11 @@ require 'logster/ignore_pattern'
4
4
  class TestIgnorePattern < Minitest::Test
5
5
 
6
6
  def test_string_message_pattern
7
- msg = Logster::Message.new(Logger::WARN, "test", "my error")
7
+ msg = Logster::Message.new(Logger::WARN, "test", "my error (oh no!)")
8
8
  msg_frog = Logster::Message.new(Logger::WARN, "test", "a frog")
9
9
  msg_nil = Logster::Message.new(Logger::WARN, "test", nil)
10
10
 
11
- pattern = Logster::IgnorePattern.new("ERROR")
11
+ pattern = Logster::IgnorePattern.new("my error (")
12
12
 
13
13
  assert pattern.matches? msg
14
14
  assert !pattern.matches?(msg_frog)
@@ -76,6 +76,24 @@ class TestMessage < MiniTest::Test
76
76
  assert_equal(msg1.count, 15 + 13)
77
77
  end
78
78
 
79
+ def test_messages_with_bad_encoding_dont_break_logster
80
+ hash = {
81
+ severity: 0,
82
+ progname: "test",
83
+ message: "invalid encoding",
84
+ env: {
85
+ a: "bad_value",
86
+ b: ["bad_value"]
87
+ }
88
+ }
89
+ json = hash.to_json.gsub("bad_value", "45\xC0\xBE")
90
+ message = Logster::Message.from_json(json)
91
+ message.to_json # test failure would be this raising exception
92
+
93
+ message.env = JSON.parse(json)["env"]
94
+ message.to_json
95
+ end
96
+
79
97
  def test_populate_from_env_works_on_array
80
98
  msg = Logster::Message.new(0, '', 'test', 10)
81
99
  hash = { "custom_key" => "key" }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logster
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - UI for viewing logs in Rack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-26 00:00:00.000000000 Z
11
+ date: 2019-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler