rjack-logback 1.0.0.0-java → 1.1.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ === 1.1.0.0 (2010-12-28)
2
+ * Upgraded to Logback 0.9.27
3
+ * Added previously missing Logback::OFF level (Bill Dueber)
4
+ * Added LevelChangePropagator extension and config_console
5
+ :propagate_to_jul flag
6
+
1
7
  === 1.0.0.0 (2010-8-31)
2
8
 
3
9
  The upstream Logback project has introduced several
data/Manifest.txt CHANGED
@@ -8,6 +8,6 @@ lib/rjack-logback/base.rb
8
8
  lib/rjack-logback.rb
9
9
  lib/rjack-logback/access.rb
10
10
  test/test_logback.rb
11
- lib/rjack-logback/logback-access-0.9.24.jar
12
- lib/rjack-logback/logback-classic-0.9.24.jar
13
- lib/rjack-logback/logback-core-0.9.24.jar
11
+ lib/rjack-logback/logback-access-0.9.27.jar
12
+ lib/rjack-logback/logback-classic-0.9.27.jar
13
+ lib/rjack-logback/logback-core-0.9.27.jar
data/lib/rjack-logback.rb CHANGED
@@ -104,6 +104,9 @@ module RJack
104
104
  # Level::ERROR
105
105
  ERROR = Level::ERROR
106
106
 
107
+ # Level::OFF
108
+ OFF = Level::OFF
109
+
107
110
  DEFAULT_PATTERN = "%date [%thread] %-5level %logger{35} - %msg %ex%n" #:nodoc:
108
111
 
109
112
  @@context = SLF4J.linked_factory
@@ -243,6 +246,23 @@ module RJack
243
246
  end
244
247
  end
245
248
 
249
+ JLevelChangePropagator = Java::ch.qos.logback.classic.jul.LevelChangePropagator
250
+
251
+ # Extends
252
+ # ch.qos.logback.classic.jul.LevelChangePropagator[http://logback.qos.ch/apidocs/ch/qos/logback/classic/jul/LevelChangePropagator.html]
253
+ # with a block initializer.
254
+ class LevelChangePropagator < JLevelChangePropagator
255
+
256
+ def initialize( reset_jul = true )
257
+ super()
258
+ self.context = Logback.context
259
+ self.reset_jul = reset_jul
260
+ yield( self ) if block_given?
261
+ Util.start( self )
262
+ end
263
+
264
+ end
265
+
246
266
  # Configure Logback with the specified block. The Logback context is
247
267
  # +reset+, yielded to block, and then started after return
248
268
  # from the block.
@@ -264,8 +284,15 @@ module RJack
264
284
  # :lwidth<~to_s>:: Logger width (default: :full ? 35 : 30)
265
285
  # :mdc<String|Array[String]>:: One or more Mapped Diagnostic Context keys
266
286
  # :mdc_width<~to_s}:: MDC width (default: unspecified)
287
+ # :propagate_to_jul:: Propagate level changes to
288
+ # java.util.logging, additionally resetting
289
+ # JUL levels if value is :reset (default: false)
267
290
  def self.config_console( options = {} )
268
- configure do
291
+ configure do |ctx|
292
+ if options[ :propagate_to_jul ]
293
+ r = ( options[ :propagate_to_jul ] == :reset )
294
+ ctx.add_listener( LevelChangePropagator.new( r ) )
295
+ end
269
296
  console = Logback::ConsoleAppender.new do |a|
270
297
  a.target = "System.err" if options[ :stderr ]
271
298
  a.layout = Logback::PatternLayout.new do |layout|
@@ -276,7 +303,7 @@ module RJack
276
303
  w = ( options[ :lwidth ] || ( options[ :full ] ? 35 : 30 ) )
277
304
  pat << "%logger{#{w}}"
278
305
 
279
- mdcs = options[ :mdc ].to_a.map { |k| "%X{#{k}}" }
306
+ mdcs = Array( options[ :mdc ] ).map { |k| "%X{#{k}}" }
280
307
  unless mdcs.empty?
281
308
  mp = ( '\(' + mdcs.join(',') + '\)' )
282
309
  mw = options[ :mdc_width ]
@@ -15,10 +15,10 @@
15
15
  module RJack
16
16
  module Logback
17
17
  # Logback java version
18
- LOGBACK_VERSION = '0.9.24'
18
+ LOGBACK_VERSION = '0.9.27'
19
19
 
20
20
  # Logback gem version
21
- VERSION = '1.0.0.0'
21
+ VERSION = '1.1.0.0'
22
22
 
23
23
  LOGBACK_DIR = File.dirname(__FILE__) # :nodoc:
24
24
  end
data/pom.xml CHANGED
@@ -12,14 +12,14 @@
12
12
  <dependency>
13
13
  <groupId>ch.qos.logback</groupId>
14
14
  <artifactId>logback-classic</artifactId>
15
- <version>0.9.24</version>
15
+ <version>0.9.27</version>
16
16
  <scope>runtime</scope>
17
17
  </dependency>
18
18
 
19
19
  <dependency>
20
20
  <groupId>ch.qos.logback</groupId>
21
21
  <artifactId>logback-access</artifactId>
22
- <version>0.9.24</version>
22
+ <version>0.9.27</version>
23
23
  <scope>runtime</scope>
24
24
  </dependency>
25
25
 
data/test/test_logback.rb CHANGED
@@ -16,6 +16,7 @@
16
16
  require 'rubygems'
17
17
  gem( 'rjack-slf4j', '~> 1.6.0' )
18
18
  require 'rjack-slf4j'
19
+ require 'rjack-slf4j/jul-to-slf4j'
19
20
 
20
21
  $LOAD_PATH.unshift File.join( File.dirname(__FILE__), "..", "lib" )
21
22
  require 'rjack-logback'
@@ -77,6 +78,15 @@ class TestLevelSet < Test::Unit::TestCase
77
78
  assert_equal( 0, @appender.count )
78
79
  end
79
80
 
81
+ def test_off
82
+ Logback.root.level = Logback::OFF
83
+ assert( ! @log.debug? )
84
+ @log.debug( "not logged" )
85
+ @log.warn { "also not logged" }
86
+ @log.error { "again; not logged"}
87
+ assert_equal( 0, @appender.count )
88
+ end
89
+
80
90
  def test_above_level
81
91
  Logback.root.level = Logback::TRACE
82
92
  assert( @log.trace? )
@@ -101,6 +111,31 @@ class TestLevelSet < Test::Unit::TestCase
101
111
 
102
112
  end
103
113
 
114
+ class TestJULPropagator < Test::Unit::TestCase
115
+ include RJack
116
+
117
+ def test_jul_propagator
118
+ SLF4J::JUL.replace_root_handlers
119
+
120
+ appender = TestAppender.new
121
+ Logback.configure do |ctx|
122
+ ctx.add_listener( Logback::LevelChangePropagator.new )
123
+ Logback.root.add_appender( appender )
124
+ Logback.root.level = Logback::WARN
125
+ Logback[ "alt" ].level = Logback::DEBUG
126
+ end
127
+
128
+ assert( ! SLF4J::JUL[ "other" ].loggable?( SLF4J::JUL::INFO ) )
129
+ assert( SLF4J::JUL[ "alt.sub" ].loggable?( SLF4J::JUL::INFO ) )
130
+
131
+ SLF4J::JUL[ "other" ].info( "shouldn't" )
132
+ assert_equal( 0, appender.count )
133
+ SLF4J::JUL[ "alt.sub" ].info( "should" )
134
+ assert_equal( 1, appender.count )
135
+ end
136
+
137
+ end
138
+
104
139
  class TestConfigure < Test::Unit::TestCase
105
140
  include RJack
106
141
 
@@ -153,7 +188,7 @@ class TestConfigure < Test::Unit::TestCase
153
188
  assert_equal( 1, appender.count )
154
189
  end
155
190
 
156
- def test_config_console
191
+ def test_config_console_mdc
157
192
  Logback.config_console( :mdc => [ :key1, :key2 ], :mdc_width => 11 )
158
193
  log = SLF4J[ self.class ]
159
194
  log.info "without"
metadata CHANGED
@@ -3,11 +3,11 @@ name: rjack-logback
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
+ - 1
6
7
  - 1
7
8
  - 0
8
9
  - 0
9
- - 0
10
- version: 1.0.0.0
10
+ version: 1.1.0.0
11
11
  platform: java
12
12
  authors:
13
13
  - David Kellum
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-31 00:00:00 -07:00
18
+ date: 2010-12-28 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -42,8 +42,8 @@ dependencies:
42
42
  segments:
43
43
  - 1
44
44
  - 2
45
- - 2
46
- version: 1.2.2
45
+ - 3
46
+ version: 1.2.3
47
47
  type: :development
48
48
  version_requirements: *id002
49
49
  description: |-
@@ -72,9 +72,9 @@ files:
72
72
  - lib/rjack-logback.rb
73
73
  - lib/rjack-logback/access.rb
74
74
  - test/test_logback.rb
75
- - lib/rjack-logback/logback-access-0.9.24.jar
76
- - lib/rjack-logback/logback-classic-0.9.24.jar
77
- - lib/rjack-logback/logback-core-0.9.24.jar
75
+ - lib/rjack-logback/logback-access-0.9.27.jar
76
+ - lib/rjack-logback/logback-classic-0.9.27.jar
77
+ - lib/rjack-logback/logback-core-0.9.27.jar
78
78
  has_rdoc: true
79
79
  homepage: http://rjack.rubyforge.org
80
80
  licenses: []