@@ -59,6 +59,8 @@ public class Logger extends RubyObject { // implements RackLogger
59
59
60
60
// Logger::Severity :
61
61
62
+ private static final int LEVEL_NOT_SET = -1 ;
63
+
62
64
// Low-level information, mostly for developers.
63
65
static final int DEBUG = 0 ;
64
66
// Generic (useful) information about system operation.
@@ -72,9 +74,7 @@ public class Logger extends RubyObject { // implements RackLogger
72
74
// An unknown message that should always be logged.
73
75
static final int UNKNOWN = 5 ;
74
76
75
- private static final int NOT_SET = -1 ;
76
-
77
- private int level = NOT_SET ;
77
+ private int level = LEVEL_NOT_SET ;
78
78
79
79
private RackLogger logger ; // the "real" logger
80
80
private IRubyObject formatter = null ; // optional
@@ -132,14 +132,16 @@ public RackLogger getRealLogger() {
132
132
133
133
@ JRubyMethod (name = "level" , alias = "sev_threshold" )
134
134
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 );
137
136
}
138
137
139
138
@ JRubyMethod (name = "level=" , alias = "sev_threshold=" )
140
139
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 );
143
145
return get_level (context );
144
146
}
145
147
@@ -182,10 +184,9 @@ private boolean isEnabledFor(final int severity) {
182
184
return isEnabledFor (severity , mapLevel (severity ));
183
185
}
184
186
185
- private boolean isEnabledFor (final int severity ,
186
- final RackLogger .Level loggerLevel ) {
187
+ private boolean isEnabledFor (final int severity , final RackLogger .Level loggerLevel ) {
187
188
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 );
189
190
return level <= severity && logger .isEnabled (loggerLevel );
190
191
}
191
192
@@ -337,9 +338,7 @@ public IRubyObject unknown(final ThreadContext context, final Block block) {
337
338
public IRubyObject add (final ThreadContext context , final IRubyObject [] args , final Block block ) {
338
339
int severity = UNKNOWN ;
339
340
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 );
343
342
IRubyObject msg ;
344
343
if ( args .length > 1 ) {
345
344
msg = args [1 ];
@@ -415,16 +414,14 @@ public IRubyObject format_message(final ThreadContext context, final IRubyObject
415
414
private IRubyObject format_message (final ThreadContext context ,
416
415
final int severityVal , final long datetimeMillis ,
417
416
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 ));
420
418
final RubyTime datetime = RubyTime .newTime (context .runtime , datetimeMillis );
421
419
return format_message (context , new IRubyObject [] { severity , datetime , progname , msg });
422
420
}
423
421
424
422
@ JRubyMethod (visibility = Visibility .PRIVATE )
425
423
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 )));
428
425
}
429
426
430
427
private static final ByteList FORMATTED_DEBUG =
@@ -451,10 +448,13 @@ private static ByteList formatSeverity(final int severity) {
451
448
return FORMATTED_ANY ;
452
449
}
453
450
451
+ private static int toInt (final IRubyObject level ) {
452
+ return level .convertToInteger ("to_i" ).getIntValue ();
453
+ }
454
+
454
455
@ SuppressWarnings ("unchecked" )
455
456
@ Override
456
457
public <T > T toJava (Class <T > target ) {
457
- // NOTE: maybe this is not a good idea ?!
458
458
if ( RackLogger .class == target ) return (T ) logger ;
459
459
return super .toJava (target );
460
460
}
0 commit comments