rjack-logback 1.0.0.0-java → 1.1.0.0-java

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/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: []