slf4j 1.5.3.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/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ === 1.5.3.1 / 2008-10-08
2
+
3
+ * Initial gem based on SLF4J 1.5.3
4
+
data/Manifest.txt ADDED
@@ -0,0 +1,26 @@
1
+ Manifest.txt
2
+ README.txt
3
+ History.txt
4
+ Rakefile
5
+ pom.xml
6
+ assembly.xml
7
+ lib/slf4j.rb
8
+ lib/slf4j/base.rb
9
+ test/test_slf4j.rb
10
+ lib/slf4j/jul-to-slf4j.rb
11
+ lib/slf4j/jdk14.rb
12
+ lib/slf4j/jcl-over-slf4j.rb
13
+ lib/slf4j/jcl.rb
14
+ lib/slf4j/log4j-over-slf4j.rb
15
+ lib/slf4j/log4j12.rb
16
+ lib/slf4j/nop.rb
17
+ lib/slf4j/simple.rb
18
+ lib/slf4j/slf4j-api-1.5.3.jar
19
+ lib/slf4j/jul-to-slf4j-1.5.3.jar
20
+ lib/slf4j/slf4j-jdk14-1.5.3.jar
21
+ lib/slf4j/jcl-over-slf4j-1.5.3.jar
22
+ lib/slf4j/slf4j-jcl-1.5.3.jar
23
+ lib/slf4j/log4j-over-slf4j-1.5.3.jar
24
+ lib/slf4j/slf4j-log4j12-1.5.3.jar
25
+ lib/slf4j/slf4j-nop-1.5.3.jar
26
+ lib/slf4j/slf4j-simple-1.5.3.jar
data/README.txt ADDED
@@ -0,0 +1,71 @@
1
+ = slf4j
2
+
3
+ * http://rjack.rubyforge.org
4
+ * http://rubyforge.org/projects/rjack
5
+
6
+ == Description
7
+
8
+ A JRuby adaption and gem packaging of the
9
+ {Simple Logging Facade for Java}[http://www.slf4j.org/].
10
+ Provides all jar dependencies and a Ruby Logger compatible
11
+ facade.
12
+
13
+ SLF4J is a java logging abstraction and set of adapters to various
14
+ concrete logging implementations and legacy logging APIs. The slf4j
15
+ gem adds a ruby core Logger compatible facade to SLF4J, and makes any
16
+ needed adapters available to JRuby applications. This makes it
17
+ possible to unify and control logging output of both java and ruby
18
+ components in a JRuby application.
19
+
20
+ == Features
21
+
22
+ * The complete set of SLF4J jars with ruby 'require' based selection
23
+ of input and output adapters.
24
+ * A Ruby core Logger compatible SLF4J::Logger, allowing ruby code to
25
+ log through SLF4J.
26
+
27
+ == Synopsis
28
+
29
+ require 'slf4j'
30
+ require 'slf4j/simple'
31
+
32
+ log = SLF4J[ "my.app.logger" ]
33
+ log.info "Hello World!"
34
+
35
+ == License
36
+
37
+ === slf4j gem
38
+
39
+ Copyright (C) 2008 David Kellum
40
+ All rights reserved.
41
+
42
+ The SLF4J ruby wrapper and gem packaging is released under the same
43
+ license terms as the SLF4J java source code and binaries, see below. Note
44
+ that these license terms are identical to the
45
+ {MIT License}[http://en.wikipedia.org/wiki/MIT_License] and deemed
46
+ compatible with GPL and the Apache Software License.
47
+
48
+ === SLF4J License
49
+
50
+ Copyright (c) 2004-2008 QOS.ch
51
+ All rights reserved.
52
+
53
+ Permission is hereby granted, free of charge, to any person obtaining
54
+ a copy of this software and associated documentation files (the
55
+ "Software"), to deal in the Software without restriction, including
56
+ without limitation the rights to use, copy, modify, merge, publish,
57
+ distribute, sublicense, and/or sell copies of the Software, and to
58
+ permit persons to whom the Software is furnished to do so, subject to
59
+ the following conditions:
60
+
61
+ The above copyright notice and this permission notice shall be
62
+ included in all copies or substantial portions of the Software.
63
+
64
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
65
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
66
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
67
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
68
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
69
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
70
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
71
+
data/Rakefile ADDED
@@ -0,0 +1,103 @@
1
+ # -*- ruby -*-
2
+ #--
3
+ # Copyright (C) 2008 David Kellum
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person
6
+ # obtaining a copy of this software and associated documentation files
7
+ # (the "Software"), to deal in the Software without restriction,
8
+ # including without limitation the rights to use, copy, modify, merge,
9
+ # publish, distribute, sublicense, and/or sell copies of the Software,
10
+ # and to permit persons to whom the Software is furnished to do so,
11
+ # subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be
14
+ # included in all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
20
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ #++
25
+
26
+ require 'rubygems'
27
+ require 'hoe'
28
+
29
+ $LOAD_PATH << './lib'
30
+
31
+ ENV['NODOT'] = "no thank you"
32
+
33
+ # Instead of 'slf4j' to avoid loading slf4j-api in Rake parent loader
34
+ require 'slf4j/base'
35
+ SLF4J = SLF4JBase
36
+
37
+ loaders = SLF4J::ADAPTERS.flatten.compact
38
+ loader_files = loaders.map { |adp| "lib/slf4j/#{adp}.rb" }
39
+
40
+ jars = [ 'slf4j-api' ]
41
+ jars += SLF4J::ADAPTERS.map { |i,o| [ i, "slf4j-#{o}" ] }.flatten.compact
42
+ jars.map! { |n| "#{n}-#{SLF4J::SLF4J_VERSION}.jar" }
43
+
44
+ jar_files = jars.map { |jar| "lib/slf4j/#{jar}" }
45
+
46
+ desc "Update the Manifest with actual jars/loaders"
47
+ task :manifest do
48
+ out = File.new( 'Manifest.txt', 'w' )
49
+ begin
50
+ out.write <<END
51
+ Manifest.txt
52
+ README.txt
53
+ History.txt
54
+ Rakefile
55
+ pom.xml
56
+ assembly.xml
57
+ lib/slf4j.rb
58
+ lib/slf4j/base.rb
59
+ test/test_slf4j.rb
60
+ END
61
+ out.puts loader_files
62
+ out.puts jar_files
63
+ ensure
64
+ out.close
65
+ end
66
+ end
67
+
68
+ loaders.each do |adapter|
69
+ file "lib/slf4j/#{adapter}.rb" do
70
+ out = File.new( "lib/slf4j/#{adapter}.rb", 'w' )
71
+ begin
72
+ out.puts "SLF4J.require_adapter( '#{adapter}' )"
73
+ ensure
74
+ out.close
75
+ end
76
+ end
77
+ end
78
+
79
+ ASSEMBLY = "target/slf4j-assembly-1.0-bin.dir"
80
+
81
+ file ASSEMBLY => [ 'pom.xml', 'assembly.xml' ] do
82
+ sh( 'mvn package' )
83
+ end
84
+
85
+ jars.each do |jar|
86
+ file "lib/slf4j/#{jar}" => [ ASSEMBLY ] do
87
+ cp_r( File.join( ASSEMBLY, jar ), 'lib/slf4j' )
88
+ end
89
+ end
90
+
91
+ [ :gem, :test ].each { |t| task t => ( jar_files + loader_files ) }
92
+
93
+ task :mvn_clean do
94
+ rm_f( jar_files )
95
+ rm_f( loader_files )
96
+ sh( 'mvn clean' )
97
+ end
98
+ task :clean => :mvn_clean
99
+
100
+ hoe = Hoe.new( "slf4j", SLF4J::VERSION ) do |p|
101
+ p.developer( "David Kellum", "dek-ruby@gravitext.com" )
102
+ p.rubyforge_name = "rjack"
103
+ end
data/assembly.xml ADDED
@@ -0,0 +1,24 @@
1
+ <assembly>
2
+ <id>bin</id>
3
+ <formats>
4
+ <format>dir</format>
5
+ </formats>
6
+ <includeBaseDirectory>false</includeBaseDirectory>
7
+ <dependencySets>
8
+ <dependencySet>
9
+ <includes>
10
+ <include>org.slf4j:slf4j-api</include>
11
+ <include>org.slf4j:jcl-over-slf4j</include>
12
+ <include>org.slf4j:jul-to-slf4j</include>
13
+ <include>org.slf4j:log4j-over-slf4j</include>
14
+ <include>org.slf4j:slf4j-jcl</include>
15
+ <include>org.slf4j:slf4j-jdk14</include>
16
+ <include>org.slf4j:slf4j-log4j12</include>
17
+ <include>org.slf4j:slf4j-nop</include>
18
+ <include>org.slf4j:slf4j-simple</include>
19
+ </includes>
20
+ </dependencySet>
21
+
22
+ </dependencySets>
23
+
24
+ </assembly>
data/lib/slf4j.rb ADDED
@@ -0,0 +1,203 @@
1
+ #--
2
+ # Copyright (C) 2008 David Kellum
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person
5
+ # obtaining a copy of this software and associated documentation files
6
+ # (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge,
8
+ # publish, distribute, sublicense, and/or sell copies of the Software,
9
+ # and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ #++
24
+
25
+ require 'slf4j/base'
26
+ require 'java'
27
+
28
+ # Wrapper and core Logger compatible adapter for the
29
+ # SLF4J[http://www.slf4j.org/] logging interface.
30
+ #
31
+ # == Usage
32
+ #
33
+ # require 'slf4j'
34
+ #
35
+ # log = SLF4J[ "my.app.logger" ]
36
+ # log.info "Hello World!"
37
+ #
38
+ # == Adapters
39
+ #
40
+ # All of the following output adapters are available via +require+:
41
+ #
42
+ # require 'slf4j/jcl' # Output to Jakarta Commons Logging
43
+ # require 'slf4j/jdk14' # JDK java.util.logging
44
+ # require 'slf4j/log4j12' # Log4j (provided elsewhere)
45
+ # require 'slf4j/nop' # NOP null logger (provided)
46
+ # require 'slf4j/simple' # Simple logger (provided)
47
+ #
48
+ # The first loaded output adapter wins (as with mulitple adapters on
49
+ # the classpath). A warning will be logged to "slf4j" if an attempt is
50
+ # made to require a second output adapter.
51
+ #
52
+ # And the following input adapters will intercept JCL,
53
+ # java.util.logging (jdk14), or log4j log output and direct it through
54
+ # SLF4J:
55
+ #
56
+ # require 'slf4j/jcl-over-slf4j' # Route Jakarta Commons Logging to SLF4J
57
+ # require 'slf4j/jul-to-slf4j' # JDK java.util.logging to SLF4J
58
+ # require 'slf4j/log4j-over-slf4j' # Log4j to SLF4J
59
+ #
60
+ # Multiple input adapters may be require'd. However, a RuntimeError
61
+ # will be raised in the attempt to require both an output adapter and
62
+ # input adapter from/to the same interface, for example
63
+ # 'slf4j/jcl-over-slf4j' and 'slf4j/jcl', which would otherwise cause
64
+ # a circular logging loop (and stack overflow.)
65
+ #
66
+ # Adapter names match the corresponding SLF4J jars.
67
+ #
68
+ module SLF4J
69
+ include SLF4JBase
70
+
71
+ # Require an adapter by name (add the jar to classpath)
72
+ # This is normally done via require 'slf4j/_name_'
73
+ def self.require_adapter( name )
74
+ row = ADAPTERS.assoc( name )
75
+ if row
76
+ name,ban = row
77
+ output = false
78
+ else
79
+ row = ADAPTERS.rassoc( name )
80
+ ban,name = row
81
+ output = true
82
+ end
83
+
84
+ if @@loaded[ ban ]
85
+ raise "Illegal attempt to load '#{name}' when '#{ban}' is loaded."
86
+ end
87
+
88
+ if output
89
+ if ! @@output_name.nil? && name != @@output_name
90
+ logger("slf4j").warn do
91
+ "Ignoring attempt to load #{name} after #{@@output_name} already loaded."
92
+ end
93
+ return
94
+ end
95
+ if java.lang.Thread::current_thread.context_class_loader != @@api_loader
96
+ $stderr.puts( "WARNING: Attempting to load #{name} in child class" +
97
+ " loader of slf4j-api.jar loader." )
98
+ end
99
+ require_jar( 'slf4j-' + name )
100
+ @@output_name = name
101
+ else
102
+ require_jar( name )
103
+ end
104
+
105
+ # Special case, requires explicit 'install'
106
+ if name == 'jul-to-slf4j'
107
+ org.slf4j.bridge.SLF4JBridgeHandler.install
108
+ end
109
+
110
+ @@loaded[ name ] = true
111
+ end
112
+
113
+ def self.require_jar( name ) # :nodoc:
114
+ require File.join( SLF4J_DIR, "#{name}-#{ SLF4J_VERSION }.jar" )
115
+ end
116
+
117
+ require_jar 'slf4j-api'
118
+
119
+ @@api_loader = org.slf4j.ILoggerFactory.java_class.class_loader
120
+ @@loaded = {}
121
+ @@output_name = nil
122
+
123
+ # Output adapter name if one has been added, or nil.
124
+ def self.output_name
125
+ @@output_name
126
+ end
127
+
128
+ # SLF4J severity levels
129
+ LEVELS = %w{ trace debug info warn error }
130
+
131
+ # Logger compatible facade over org.slf4j.Logger
132
+ #
133
+ # === Generated Methods
134
+ #
135
+ # Corresponding methods are generated for each of the SLF4J levels:
136
+ #
137
+ # * trace
138
+ # * debug
139
+ # * info
140
+ # * warn
141
+ # * error
142
+ # * fatal (alias to error)
143
+ #
144
+ # These have the form (using _info_ as example)
145
+ #
146
+ # log = Logger.new( "name" )
147
+ # log.info? # Is this level enabled for logging?
148
+ # log.info( "message" ) # Log message
149
+ # log.info { "message" } # Execute block if enabled
150
+ # and log returned value
151
+ class Logger
152
+ attr_reader :name
153
+
154
+ # Create new or find existing Logger by name
155
+ #
156
+ # Note that loggers are arranged in a hiearchy by dot '.' name
157
+ # notation, i.e.:
158
+ #
159
+ # * "parent"
160
+ # * "parent.child"
161
+ def initialize( name )
162
+ @name = name
163
+ @logger = org.slf4j.LoggerFactory.getLogger( @name )
164
+ end
165
+
166
+ # Define logging methods for each level: debug(), error(), etc.
167
+ LEVELS.each do |lvl|
168
+ module_eval( %Q{
169
+
170
+ def #{lvl}?
171
+ @logger.is#{lvl.capitalize}Enabled
172
+ end
173
+
174
+ def #{lvl}( msg=nil )
175
+ msg = yield if ( block_given? && #{lvl}? )
176
+ @logger.#{lvl}( msg.to_s ) unless msg.nil?
177
+ end
178
+
179
+ } )
180
+ end
181
+
182
+ # Alias fatal to error for Logger compatibility
183
+ alias_method :fatal, :error
184
+ alias_method :fatal?, :error?
185
+ end
186
+
187
+ # Get Logger by name
188
+ def logger( name = self.class.name )
189
+ Logger.new( name )
190
+ end
191
+ module_function :logger
192
+
193
+ # Synonym for logger( name )
194
+ def self.[]( name )
195
+ Logger.new( name )
196
+ end
197
+
198
+ # The ILoggerFactory instance if an output adapter jas been loaded
199
+ def self.linked_factory
200
+ org.slf4j.LoggerFactory.getILoggerFactory
201
+ end
202
+
203
+ end
data/lib/slf4j/base.rb ADDED
@@ -0,0 +1,41 @@
1
+ #--
2
+ # Copyright (C) 2008 David Kellum
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person
5
+ # obtaining a copy of this software and associated documentation files
6
+ # (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge,
8
+ # publish, distribute, sublicense, and/or sell copies of the Software,
9
+ # and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ #++
24
+
25
+ # Base constants for Rakefile, etc.
26
+ module SLF4JBase
27
+
28
+ # SLF4J-java version
29
+ SLF4J_VERSION = '1.5.3'
30
+ # SLF4J gem version
31
+ VERSION = SLF4J_VERSION + '.1'
32
+
33
+ SLF4J_DIR = File.dirname(__FILE__) # :nodoc:
34
+
35
+ # :input :output (jar with slf4j- prefix)
36
+ ADAPTERS = [ [ "jul-to-slf4j", "jdk14" ],
37
+ [ "jcl-over-slf4j", "jcl" ],
38
+ [ "log4j-over-slf4j", "log4j12" ],
39
+ [ nil, "nop" ],
40
+ [ nil, "simple" ] ] # :nodoc:
41
+ end
Binary file
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'jcl-over-slf4j' )
data/lib/slf4j/jcl.rb ADDED
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'jcl' )
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'jdk14' )
Binary file
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'jul-to-slf4j' )
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'log4j-over-slf4j' )
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'log4j12' )
data/lib/slf4j/nop.rb ADDED
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'nop' )
@@ -0,0 +1 @@
1
+ SLF4J.require_adapter( 'simple' )
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/pom.xml ADDED
@@ -0,0 +1,104 @@
1
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
2
+
3
+ <modelVersion>4.0.0</modelVersion>
4
+ <groupId>com.gravitext</groupId>
5
+ <artifactId>slf4j-assembly</artifactId>
6
+ <packaging>pom</packaging>
7
+ <version>1.0</version>
8
+ <name>SLF4J assembly</name>
9
+
10
+ <dependencies>
11
+
12
+ <dependency>
13
+ <groupId>org.slf4j</groupId>
14
+ <artifactId>slf4j-api</artifactId>
15
+ <version>1.5.3</version>
16
+ </dependency>
17
+
18
+ <dependency>
19
+ <groupId>org.slf4j</groupId>
20
+ <artifactId>jcl-over-slf4j</artifactId> <!-- vs jcl104? -->
21
+ <version>1.5.3</version>
22
+ <scope>runtime</scope>
23
+ </dependency>
24
+
25
+ <dependency>
26
+ <groupId>org.slf4j</groupId>
27
+ <artifactId>jul-to-slf4j</artifactId>
28
+ <version>1.5.3</version>
29
+ <scope>runtime</scope>
30
+ </dependency>
31
+
32
+ <dependency>
33
+ <groupId>org.slf4j</groupId>
34
+ <artifactId>log4j-over-slf4j</artifactId>
35
+ <version>1.5.3</version>
36
+ <scope>runtime</scope>
37
+ </dependency>
38
+
39
+ <dependency>
40
+ <groupId>org.slf4j</groupId>
41
+ <artifactId>slf4j-jdk14</artifactId>
42
+ <version>1.5.3</version>
43
+ <scope>runtime</scope>
44
+ <optional>true</optional>
45
+ </dependency>
46
+
47
+ <dependency>
48
+ <groupId>org.slf4j</groupId>
49
+ <artifactId>slf4j-log4j12</artifactId>
50
+ <version>1.5.3</version>
51
+ <scope>runtime</scope>
52
+ <optional>true</optional>
53
+ </dependency>
54
+
55
+ <dependency>
56
+ <groupId>org.slf4j</groupId>
57
+ <artifactId>slf4j-jcl</artifactId>
58
+ <version>1.5.3</version>
59
+ <scope>runtime</scope>
60
+ <optional>true</optional>
61
+ </dependency>
62
+
63
+ <dependency>
64
+ <groupId>org.slf4j</groupId>
65
+ <artifactId>slf4j-simple</artifactId>
66
+ <version>1.5.3</version>
67
+ <scope>runtime</scope>
68
+ <optional>true</optional>
69
+ </dependency>
70
+
71
+ <dependency>
72
+ <groupId>org.slf4j</groupId>
73
+ <artifactId>slf4j-nop</artifactId>
74
+ <version>1.5.3</version>
75
+ <scope>runtime</scope>
76
+ <optional>true</optional>
77
+ </dependency>
78
+
79
+ </dependencies>
80
+
81
+ <build>
82
+ <plugins>
83
+ <plugin>
84
+ <artifactId>maven-assembly-plugin</artifactId>
85
+ <configuration>
86
+ <descriptors>
87
+ <descriptor>assembly.xml</descriptor>
88
+ </descriptors>
89
+ <tarLongFileMode>gnu</tarLongFileMode>
90
+ </configuration>
91
+ <executions>
92
+ <execution>
93
+ <id>assembly</id>
94
+ <phase>package</phase>
95
+ <goals>
96
+ <goal>attached</goal>
97
+ </goals>
98
+ </execution>
99
+ </executions>
100
+ </plugin>
101
+ </plugins>
102
+ </build>
103
+
104
+ </project>
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env jruby
2
+ #--
3
+ # Copyright (c) 2008 David Kellum
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person
6
+ # obtaining a copy of this software and associated documentation files
7
+ # (the "Software"), to deal in the Software without restriction,
8
+ # including without limitation the rights to use, copy, modify, merge,
9
+ # publish, distribute, sublicense, and/or sell copies of the Software,
10
+ # and to permit persons to whom the Software is furnished to do so,
11
+ # subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be
14
+ # included in all copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
20
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ #++
25
+
26
+ $LOAD_PATH.unshift File.join( File.dirname(__FILE__), "..", "lib" )
27
+
28
+ require 'slf4j'
29
+
30
+ # Load jdk14 implementation for testing
31
+ require 'slf4j/jdk14'
32
+
33
+ # Load these only to confirm loading works
34
+ require 'slf4j/jcl-over-slf4j'
35
+ require 'slf4j/log4j-over-slf4j'
36
+
37
+ require 'test/unit'
38
+
39
+ class TestHandler < java.util.logging.Handler
40
+ attr_accessor :count, :last
41
+
42
+ def initialize
43
+ reset
44
+ end
45
+
46
+ def flush; end
47
+ def close; end
48
+
49
+ def publish( record )
50
+ @count += 1
51
+ @last = record
52
+ end
53
+
54
+ def reset
55
+ @count = 0
56
+ @last = nil
57
+ end
58
+ end
59
+
60
+ class TestSlf4j < Test::Unit::TestCase
61
+ JdkLogger = java.util.logging.Logger
62
+ def setup
63
+ @handler = TestHandler.new
64
+ @jdk_logger = JdkLogger.getLogger ""
65
+ @jdk_logger.addHandler @handler
66
+ @jdk_logger.level = java.util.logging.Level::INFO
67
+ @log = SLF4J[ "my.app" ]
68
+ end
69
+
70
+ def teardown
71
+ @handler.reset
72
+ end
73
+
74
+ def test_logger
75
+ assert !@log.trace?
76
+ @log.trace( "not written" )
77
+ assert !@log.debug?
78
+ @log.debug { "also not written" }
79
+ assert @log.info?
80
+ @log.info { "test write info" }
81
+ assert @log.warn?
82
+ @log.warn { "test write warning" }
83
+ assert @log.error?
84
+ @log.error( "test write error" )
85
+ assert @log.fatal?
86
+ @log.fatal { "test write fatal --> error" }
87
+ assert_equal( 4, @handler.count )
88
+ end
89
+
90
+ def test_circular_ban
91
+ assert_raise( RuntimeError ) do
92
+ require 'slf4j/jul-to-slf4j'
93
+ end
94
+ end
95
+
96
+ end
metadata ADDED
@@ -0,0 +1,97 @@
1
+ --- !ruby/object:Gem::Specification
2
+ required_ruby_version: !ruby/object:Gem::Requirement
3
+ requirements:
4
+ - - '>='
5
+ - !ruby/object:Gem::Version
6
+ version: "0"
7
+ version:
8
+ email:
9
+ - dek-ruby@gravitext.com
10
+ cert_chain: []
11
+
12
+ summary: A JRuby adaption and gem packaging of the {Simple Logging Facade for Java}[http://www.slf4j.org/]
13
+ post_install_message:
14
+ extra_rdoc_files:
15
+ - Manifest.txt
16
+ - README.txt
17
+ - History.txt
18
+ homepage: http://rjack.rubyforge.org
19
+ signing_key:
20
+ name: slf4j
21
+ rdoc_options:
22
+ - --main
23
+ - README.txt
24
+ autorequire:
25
+ rubyforge_project: rjack
26
+ executables: []
27
+
28
+ description: A JRuby adaption and gem packaging of the {Simple Logging Facade for
29
+ Java}[http://www.slf4j.org/]. Provides all jar dependencies and a Ruby Logger
30
+ compatible facade. SLF4J is a java logging abstraction and set of adapters to various
31
+ concrete logging implementations and legacy logging APIs. The slf4j gem adds a
32
+ ruby core Logger compatible facade to SLF4J, and makes any needed adapters available
33
+ to JRuby applications. This makes it possible to unify and control logging output
34
+ of both java and ruby components in a JRuby application.
35
+ specification_version: 2
36
+ default_executable:
37
+ files:
38
+ - Manifest.txt
39
+ - README.txt
40
+ - History.txt
41
+ - Rakefile
42
+ - pom.xml
43
+ - assembly.xml
44
+ - lib/slf4j.rb
45
+ - lib/slf4j/base.rb
46
+ - test/test_slf4j.rb
47
+ - lib/slf4j/jul-to-slf4j.rb
48
+ - lib/slf4j/jdk14.rb
49
+ - lib/slf4j/jcl-over-slf4j.rb
50
+ - lib/slf4j/jcl.rb
51
+ - lib/slf4j/log4j-over-slf4j.rb
52
+ - lib/slf4j/log4j12.rb
53
+ - lib/slf4j/nop.rb
54
+ - lib/slf4j/simple.rb
55
+ - lib/slf4j/slf4j-api-1.5.3.jar
56
+ - lib/slf4j/jul-to-slf4j-1.5.3.jar
57
+ - lib/slf4j/slf4j-jdk14-1.5.3.jar
58
+ - lib/slf4j/jcl-over-slf4j-1.5.3.jar
59
+ - lib/slf4j/slf4j-jcl-1.5.3.jar
60
+ - lib/slf4j/log4j-over-slf4j-1.5.3.jar
61
+ - lib/slf4j/slf4j-log4j12-1.5.3.jar
62
+ - lib/slf4j/slf4j-nop-1.5.3.jar
63
+ - lib/slf4j/slf4j-simple-1.5.3.jar
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: "0"
69
+ version:
70
+ extensions: []
71
+
72
+ rubygems_version: 1.2.0
73
+ requirements: []
74
+
75
+ authors:
76
+ - David Kellum
77
+ date: 2008-10-13 08:00:00 +00:00
78
+ platform: ruby
79
+ test_files:
80
+ - test/test_slf4j.rb
81
+ version: !ruby/object:Gem::Version
82
+ version: 1.5.3.1
83
+ require_paths:
84
+ - lib
85
+ dependencies:
86
+ - !ruby/object:Gem::Dependency
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: 1.8.0
92
+ version:
93
+ type: :development
94
+ version_requirement:
95
+ name: hoe
96
+ bindir: bin
97
+ has_rdoc: true