diff --git a/History.md b/History.md index 33e64ae4..c42fcc85 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,7 @@ +## 1.2.6 (UNRELEASED) + +- Add missing block-only signature for debug logging + ## 1.2.5 - Fix use of jruby-rack under Java 8 (#324) diff --git a/src/main/java/org/jruby/rack/ext/Logger.java b/src/main/java/org/jruby/rack/ext/Logger.java index 5f723187..36d5659e 100644 --- a/src/main/java/org/jruby/rack/ext/Logger.java +++ b/src/main/java/org/jruby/rack/ext/Logger.java @@ -246,6 +246,11 @@ public IRubyObject debug(final ThreadContext context, return context.runtime.newBoolean( add(DEBUG, context, msg, block) ); } + @JRubyMethod(name = "debug") + public IRubyObject debug(final ThreadContext context, final Block block) { + return debug(context, context.nil, block); + } + // // :call-seq: // info(message) diff --git a/src/spec/ruby/jruby/rack/logger_spec.rb b/src/spec/ruby/jruby/rack/logger_spec.rb index 0b9bf298..b98b64f2 100644 --- a/src/spec/ruby/jruby/rack/logger_spec.rb +++ b/src/spec/ruby/jruby/rack/logger_spec.rb @@ -86,6 +86,26 @@ expect(logger.warn?).to be true end + [:debug, :info, :warn, :error, :fatal].each do |level| + it "logs at #{level} level" do + logger.public_send(level, 'message') + expect(real_logger.logged_content).to eql "#{level.to_s.upcase}: message\n" + + real_logger.reset + logger.public_send(level, 'message') { 'ignored' } + expect(real_logger.logged_content).to eql "#{level.to_s.upcase}: message\n" + + real_logger.reset + logger.public_send(level, nil) { 'message' } + expect(real_logger.logged_content).to eql "#{level.to_s.upcase}: message\n" + + + real_logger.reset + logger.public_send(level) { 'message' } + expect(real_logger.logged_content).to eql "#{level.to_s.upcase}: message\n" + end + end + it "disables real logger's formatting when formatter is set" do real_logger.formatting = true expect(real_logger.formatting?).to be true