logster 0.1.5 → 0.1.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
  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