lumber 0.11.0 → 0.11.1

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.
data/CHANGELOG CHANGED
@@ -1,3 +1,9 @@
1
+ 0.11.1 (05/23/2012)
2
+ -------------------
3
+
4
+ document require statement for server <116b17d>
5
+ use ttl when set in same post, only backup/restore levels from activate_levels, not set_levels <05140c1>
6
+
1
7
  0.11.0 (05/22/2012)
2
8
  -------------------
3
9
 
data/README.md CHANGED
@@ -54,9 +54,10 @@ If you want to change the log level for a different environment, you can do so i
54
54
 
55
55
  Lumber also comes with a Sinatra UI for dynamically overriding log levels at runtime. To use it, just run Lumber::Server as a rack application. The easiest way to do this is to map it to a route in your rails routes.rb (make sure you password protect it):
56
56
 
57
+ require 'lumber/server'
57
58
  mount Lumber::Server, :at => "/lumber"
58
59
 
59
- This will allow you to temporarily set lower log levels for specific loggers - e.g. if you want a specific model to have DEBUG logging for the next hour. For this to work, you need to activat
60
+ This will allow you to temporarily set lower log levels for specific loggers - e.g. if you want a specific model to have DEBUG logging for the next hour.
60
61
 
61
62
 
62
63
  Copyright
@@ -33,8 +33,7 @@ module Lumber
33
33
  # @param [Hash] Logger fullname mapping to level name, e.g. {'rails::models::User' => 'DEBUG'}
34
34
  #
35
35
  def set_levels(levels)
36
- backup_levels(levels.keys)
37
- @cache_provider.write(LOG_LEVELS_KEY, levels, :expire_in => @ttl)
36
+ @cache_provider.write(LOG_LEVELS_KEY, levels, :expires_in => @ttl)
38
37
  end
39
38
 
40
39
  def get_levels()
@@ -50,6 +49,7 @@ module Lumber
50
49
  if levels.size == 0
51
50
  restore_levels
52
51
  else
52
+ backup_levels(levels.keys)
53
53
  levels.each do |name, level|
54
54
  logger = Lumber.find_or_create_logger(name)
55
55
  level_val = Log4r::LNAMES.index(level)
data/lib/lumber/server.rb CHANGED
@@ -43,8 +43,8 @@ module Lumber
43
43
  @ttl = ttl
44
44
  erb :levels
45
45
  else
46
+ LevelUtil.ttl = ttl.to_i if ttl
46
47
  LevelUtil.set_levels(levels)
47
- LevelUtil.ttl = ttl
48
48
  redirect url(:levels)
49
49
  end
50
50
 
@@ -1,3 +1,3 @@
1
1
  module Lumber
2
- VERSION = "0.11.0"
2
+ VERSION = "0.11.1"
3
3
  end
data/lumber.gemspec CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |gem|
21
21
 
22
22
  gem.add_development_dependency("rake")
23
23
  gem.add_development_dependency("rspec")
24
+ gem.add_development_dependency("rack-test")
24
25
  gem.add_development_dependency("capybara")
25
26
  gem.add_development_dependency("capybara-webkit")
26
27
  gem.add_development_dependency("awesome_print")
@@ -32,18 +32,21 @@ describe Lumber::LevelUtil do
32
32
  it "creates logger if not yet defined" do
33
33
  Log4r::Logger["unknownlogger"].should be_nil
34
34
  LevelUtil.set_levels({"unknownlogger" => "DEBUG"})
35
+ LevelUtil.activate_levels
35
36
  Log4r::Logger["unknownlogger"].should_not be_nil
36
37
  end
37
38
 
38
39
  it "reuses logger if already defined" do
39
- LevelUtil.set_levels({@name => "DEBUG"})
40
- foo_logger = Log4r::Logger[@name]
40
+ foo_logger = Lumber.find_or_create_logger(@name)
41
41
  foo_logger.should_not be_nil
42
+
42
43
  LevelUtil.set_levels({@name => "INFO"})
44
+ LevelUtil.activate_levels
43
45
  Log4r::Logger[@name].should == foo_logger
44
46
  end
45
47
 
46
48
  it "activate level on logger" do
49
+ Lumber.find_or_create_logger(@name)
47
50
  LevelUtil.set_levels({@name => "ERROR"})
48
51
  Log4r::Logger[@name].level.should == Log4r::LNAMES.index("DEBUG")
49
52
  LevelUtil.activate_levels
@@ -51,15 +54,16 @@ describe Lumber::LevelUtil do
51
54
  end
52
55
 
53
56
  it "restores levels when mapping expires" do
54
- LevelUtil.set_levels({"bar" => "ERROR"})
55
- Log4r::Logger["bar"].level.should == Log4r::LNAMES.index("DEBUG")
56
-
57
+ Lumber.find_or_create_logger(@name)
58
+ Log4r::Logger[@name].level.should == Log4r::LNAMES.index("DEBUG")
59
+
60
+ LevelUtil.set_levels({@name => "ERROR"})
57
61
  LevelUtil.activate_levels
58
- Log4r::Logger["bar"].level.should == Log4r::LNAMES.index("ERROR")
62
+ Log4r::Logger[@name].level.should == Log4r::LNAMES.index("ERROR")
59
63
 
60
64
  LevelUtil.set_levels({})
61
65
  LevelUtil.activate_levels
62
- Log4r::Logger["bar"].level.should == Log4r::LNAMES.index("DEBUG")
66
+ Log4r::Logger[@name].level.should == Log4r::LNAMES.index("DEBUG")
63
67
  end
64
68
 
65
69
  it "starts a monitor thread" do
data/spec/server_spec.rb CHANGED
@@ -1,11 +1,16 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Lumber::Server, :type => :request do
4
-
4
+ include Rack::Test::Methods
5
+
5
6
  before(:each) do
6
7
  Capybara.app = Lumber::Server.new
7
8
  end
8
9
 
10
+ def app
11
+ @app ||= Lumber::Server.new
12
+ end
13
+
9
14
  it "should respond to it's url" do
10
15
  visit "/levels"
11
16
  page.should have_content('Logger Levels')
@@ -47,6 +52,13 @@ describe Lumber::Server, :type => :request do
47
52
 
48
53
  page.should have_selector('form')
49
54
  end
55
+
56
+ it "uses ttl set in current request" do
57
+ Lumber.find_or_create_logger("foo")
58
+ LevelUtil.cache_provider.should_receive(:write).with(LevelUtil::LOG_LEVELS_KEY, {"foo" => "INFO"}, :expires_in => 55)
59
+
60
+ post "/levels", {'ttl' => 55, 'levels' => [{'name' => "foo", "level" => "INFO"}]}
61
+ end
50
62
 
51
63
  it "assigns level overrides", :js => true do
52
64
  LevelUtil.set_levels({})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-22 00:00:00.000000000 Z
12
+ date: 2012-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: log4r
@@ -91,6 +91,22 @@ dependencies:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rack-test
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
94
110
  - !ruby/object:Gem::Dependency
95
111
  name: capybara
96
112
  requirement: !ruby/object:Gem::Requirement