@@ -59,6 +59,8 @@ public class Logger extends RubyObject { // implements RackLogger
5959
6060 // Logger::Severity :
6161
62+ private static final int LEVEL_NOT_SET = -1 ;
63+
6264 // Low-level information, mostly for developers.
6365 static final int DEBUG = 0 ;
6466 // Generic (useful) information about system operation.
@@ -72,9 +74,7 @@ public class Logger extends RubyObject { // implements RackLogger
7274 // An unknown message that should always be logged.
7375 static final int UNKNOWN = 5 ;
7476
75- private static final int NOT_SET = -1 ;
76-
77- private int level = NOT_SET ;
77+ private int level = LEVEL_NOT_SET ;
7878
7979 private RackLogger logger ; // the "real" logger
8080 private IRubyObject formatter = null ; // optional
@@ -132,14 +132,16 @@ public RackLogger getRealLogger() {
132132
133133 @ JRubyMethod (name = "level" , alias = "sev_threshold" )
134134 public IRubyObject get_level (final ThreadContext context ) {
135- if ( this .level == NOT_SET ) return context .nil ;
136- return context .runtime .newFixnum (this .level );
135+ return this .level == LEVEL_NOT_SET ? context .nil : context .runtime .newFixnum (this .level );
137136 }
138137
139138 @ JRubyMethod (name = "level=" , alias = "sev_threshold=" )
140139 public IRubyObject set_level (final ThreadContext context , final IRubyObject level ) {
141- if ( level .isNil () ) { this .level = NOT_SET ; return level ; }
142- this .level = (int ) level .convertToInteger ("to_i" ).getLongValue ();
140+ if ( level .isNil () ) {
141+ this .level = LEVEL_NOT_SET ;
142+ return level ;
143+ }
144+ this .level = toInt (level );
143145 return get_level (context );
144146 }
145147
@@ -182,10 +184,9 @@ private boolean isEnabledFor(final int severity) {
182184 return isEnabledFor (severity , mapLevel (severity ));
183185 }
184186
185- private boolean isEnabledFor (final int severity ,
186- final RackLogger .Level loggerLevel ) {
187+ private boolean isEnabledFor (final int severity , final RackLogger .Level loggerLevel ) {
187188 if ( loggerLevel == null ) return level <= severity ;
188- if ( level == NOT_SET ) return logger .isEnabled (loggerLevel );
189+ if ( level == LEVEL_NOT_SET ) return logger .isEnabled (loggerLevel );
189190 return level <= severity && logger .isEnabled (loggerLevel );
190191 }
191192
@@ -337,9 +338,7 @@ public IRubyObject unknown(final ThreadContext context, final Block block) {
337338 public IRubyObject add (final ThreadContext context , final IRubyObject [] args , final Block block ) {
338339 int severity = UNKNOWN ;
339340 final IRubyObject sev = args [0 ];
340- if ( ! sev .isNil () ) {
341- severity = (int ) sev .convertToInteger ("to_i" ).getLongValue ();
342- }
341+ if ( !sev .isNil () ) severity = toInt (sev );
343342 IRubyObject msg ;
344343 if ( args .length > 1 ) {
345344 msg = args [1 ];
@@ -415,16 +414,14 @@ public IRubyObject format_message(final ThreadContext context, final IRubyObject
415414 private IRubyObject format_message (final ThreadContext context ,
416415 final int severityVal , final long datetimeMillis ,
417416 final IRubyObject progname , final IRubyObject msg ) {
418- final IRubyObject severity =
419- RubyString .newStringShared (context .runtime , formatSeverity (severityVal ));
417+ final IRubyObject severity = RubyString .newStringShared (context .runtime , formatSeverity (severityVal ));
420418 final RubyTime datetime = RubyTime .newTime (context .runtime , datetimeMillis );
421419 return format_message (context , new IRubyObject [] { severity , datetime , progname , msg });
422420 }
423421
424422 @ JRubyMethod (visibility = Visibility .PRIVATE )
425423 public IRubyObject format_severity (final ThreadContext context , final IRubyObject sev ) {
426- final int severity = (int ) sev .convertToInteger ("to_i" ).getLongValue ();
427- return RubyString .newStringShared (context .runtime , formatSeverity (severity ));
424+ return RubyString .newStringShared (context .runtime , formatSeverity (toInt (sev )));
428425 }
429426
430427 private static final ByteList FORMATTED_DEBUG =
@@ -451,10 +448,13 @@ private static ByteList formatSeverity(final int severity) {
451448 return FORMATTED_ANY ;
452449 }
453450
451+ private static int toInt (final IRubyObject level ) {
452+ return level .convertToInteger ("to_i" ).getIntValue ();
453+ }
454+
454455 @ SuppressWarnings ("unchecked" )
455456 @ Override
456457 public <T > T toJava (Class <T > target ) {
457- // NOTE: maybe this is not a good idea ?!
458458 if ( RackLogger .class == target ) return (T ) logger ;
459459 return super .toJava (target );
460460 }
0 commit comments