logster 0.1.5 → 0.1.6

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: 78822a7188bcfb1a31a9aad3f8affdb955f93a1b
4
- data.tar.gz: 7bd13d687d0a8aa395b6ccb0a65bc4ac6fc16c02
3
+ metadata.gz: d995b434dc8396a1b599aec866dad4d0ac4063da
4
+ data.tar.gz: 39e45321820da7c8c5ddc1dc3c4c89eac3dc4621
5
5
  SHA512:
6
- metadata.gz: 960feebb6fff37749e84721061b3222126cfc283096339aea4d0edbd940a82863aed17386c7759e63e5d4620ae417344e70dc0a9096d839641de9903e1b94842
7
- data.tar.gz: 09ea17c801477205634516c5e038becb197f1092120ea39b53176f9c7f7d91ba6e60495256ff248741e210237a85be9ca7664ca9c085cc67fb84c202180fed6a
6
+ metadata.gz: 30772ee8c258f97d6bb16c04f3439bab6073a30d66da862245e248c04c6ac07067d77075a425dc9e104a7b0e0a1c841f475b890679f9c556c08563f7897752ee
7
+ data.tar.gz: 552c9f5737eb998e0bf235cb378451a6b5e829f7d768ebbebeebce867e079b02d823bc705a1b9f79a5f2dd56060b7ab21fdf199ea821ee74b4cfac25306feca4
data/README.md CHANGED
@@ -17,18 +17,16 @@ And then execute:
17
17
 
18
18
  $ bundle
19
19
 
20
- Make Logster available in your development environment by adding the following to your routes.rb:
20
+ Make logster web available add the following to your `routes.rb`:
21
21
 
22
22
  ```
23
- if Rails.env == "development"
24
- mount Logster::Web => "/logs"
25
- end
23
+ mount Logster::Web => "/logs", lambda { |req| req.session["admin"] }
26
24
  ```
27
25
 
28
- Logster will be available in your Rails app in **development** mode only. To wire up in production you will need to set
26
+ Out of the box, logster will use the default redis connection, to customise, in `config/application.rb`
29
27
 
30
28
  ```
31
- Logster.config.authorize_callback = lambda{|env| your_own_can_see_logs? }
29
+ Logster.store = Logster.RedisStore.new(redis_connection)
32
30
  ```
33
31
 
34
32
  ## Usage
@@ -84,3 +82,8 @@ Logster UI is built using [Ember.js](http://emberjs.com/)
84
82
  - Automatically include ignore filter
85
83
  - 2014-08-08: Version 0.1.4
86
84
  - Fix crash in ignore filter
85
+ - 2014-08-10: Version 0.1.5
86
+ - Fix crash in Rails 3
87
+ - 2014-08-13: Version 0.1.6
88
+ - Simplify install process
89
+ - Fix crash on 404 in /logs dir
data/lib/logster.rb CHANGED
@@ -4,6 +4,13 @@ require 'logster/configuration'
4
4
  require 'logster/web'
5
5
  require 'logster/ignore_pattern'
6
6
 
7
+ if defined? Redis
8
+ require 'logster/redis_store'
9
+ else
10
+ STDERR.puts "ERROR: Redis is not loaded, ensure redis gem is required before logster"
11
+ exit
12
+ end
13
+
7
14
  module Logster
8
15
  def self.logger=(logger)
9
16
  @logger = logger
@@ -36,7 +43,6 @@ module Logster
36
43
  end
37
44
 
38
45
  Logster.config.current_context = lambda{ |env, &block| block.call }
39
- Logster.config.authorize_callback = lambda{ |env| true }
40
46
 
41
47
  if defined?(::Rails) && ::Rails::VERSION::MAJOR.to_i >= 3
42
48
  require 'logster/rails/railtie'
@@ -1,5 +1,5 @@
1
1
  module Logster
2
2
  class Configuration
3
- attr_accessor :authorize_callback, :subdirectory, :current_context
3
+ attr_accessor :subdirectory, :current_context
4
4
  end
5
5
  end
@@ -29,11 +29,6 @@ module Logster
29
29
 
30
30
  if resource = resolve_path(path)
31
31
 
32
- # easier to debug, call per line
33
- unless Logster.config.authorize_callback.call(env)
34
- return @app.call(env)
35
- end
36
-
37
32
  if resource =~ /\.js$|\.handlebars$|\.css$/
38
33
  env[PATH_INFO] = resource
39
34
  # accl redirect is going to be trouble, ensure its bypassed
@@ -7,22 +7,17 @@ module Logster::Rails
7
7
  def self.set_logger(config)
8
8
  return unless Rails.env.development? || Rails.env.production?
9
9
 
10
- if defined?(Redis)
11
- require 'logster/middleware/debug_exceptions'
12
- require 'logster/middleware/reporter'
13
- require 'logster/redis_store'
10
+ require 'logster/middleware/debug_exceptions'
11
+ require 'logster/middleware/reporter'
14
12
 
15
- store = Logster.store ||= Logster::RedisStore.new
16
- store.level = Logger::Severity::WARN if Rails.env.production?
13
+ store = Logster.store ||= Logster::RedisStore.new
14
+ store.level = Logger::Severity::WARN if Rails.env.production?
17
15
 
18
- logger = Logster::Logger.new(store)
19
- logger.chain(::Rails.logger)
20
- logger.level = ::Rails.logger.level
16
+ logger = Logster::Logger.new(store)
17
+ logger.chain(::Rails.logger)
18
+ logger.level = ::Rails.logger.level
21
19
 
22
- Logster.logger = ::Rails.logger = config.logger = logger
23
- else
24
- Rails.logger.warn "Not loading logster, Redis missing"
25
- end
20
+ Logster.logger = ::Rails.logger = config.logger = logger
26
21
  end
27
22
 
28
23
 
@@ -46,9 +41,6 @@ module Logster::Rails
46
41
  class Railtie < ::Rails::Railtie
47
42
 
48
43
  config.before_initialize do
49
- Logster.config.authorize_callback = lambda {|env|
50
- Rails.env == "development"
51
- }
52
44
  Logster::Rails.set_logger(config)
53
45
  end
54
46
 
@@ -1,3 +1,3 @@
1
1
  module Logster
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
data/lib/logster/web.rb CHANGED
@@ -1,8 +1,14 @@
1
1
  require 'logster/middleware/viewer'
2
2
 
3
3
  class Logster::Web
4
+ class FourOhFour
5
+ def call(env)
6
+ [404, {}, ["not found"]]
7
+ end
8
+ end
9
+
4
10
  def self.call(env)
5
- @middleware ||= Logster::Middleware::Viewer.new(nil)
11
+ @middleware ||= Logster::Middleware::Viewer.new(FourOhFour.new)
6
12
  @middleware.call(env)
7
13
  end
8
14
  end
@@ -17,7 +17,6 @@ class TestViewer < Minitest::Test
17
17
 
18
18
  def teardown
19
19
  Logster.config.subdirectory = nil
20
- Logster.config.authorize_callback = nil
21
20
  Logster.store = nil
22
21
  end
23
22
 
@@ -28,19 +27,6 @@ class TestViewer < Minitest::Test
28
27
  end
29
28
  end
30
29
 
31
- def test_authorize_callback
32
- Logster.config.authorize_callback = lambda{ |env|
33
- env["authorized"]
34
- }
35
-
36
- viewer = Logster::Middleware::Viewer.new(BrokenApp.new)
37
- status, _ = viewer.call({"PATH_INFO" => "/logs"})
38
- assert_equal(500, status)
39
-
40
- status, _ = viewer.call({"PATH_INFO" => "/logs", "authorized" => true})
41
- assert_equal(200, status)
42
- end
43
-
44
30
  def test_path_resolution
45
31
  assert_nil(viewer.send(:resolve_path, "/logs"))
46
32
  assert_nil(viewer.send(:resolve_path, "/admin/logsie"))
@@ -51,10 +37,6 @@ class TestViewer < Minitest::Test
51
37
  end
52
38
 
53
39
  def test_assets
54
- Logster.config.authorize_callback = lambda{ |env|
55
- true
56
- }
57
-
58
40
  env = {}
59
41
  env["PATH_INFO"] = "/logsie/javascript/external/jquery.min.js"
60
42
  env["REQUEST_METHOD"] = "GET"
data/test/test_helper.rb CHANGED
@@ -2,8 +2,8 @@ require 'minitest'
2
2
  require 'minitest/unit'
3
3
  require 'minitest/autorun'
4
4
  require 'minitest/pride'
5
- require 'logster'
6
5
  require 'redis'
6
+ require 'logster'
7
7
  require 'logster/base_store'
8
8
 
9
9
  class Logster::TestStore < Logster::BaseStore
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: 0.1.5
4
+ version: 0.1.6
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: 2014-08-12 00:00:00.000000000 Z
11
+ date: 2014-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler