@@ -25,6 +25,7 @@ import org.apache.log4j.Appender
2525import org.apache.log4j.ConsoleAppender
2626import org.apache.log4j.FileAppender
2727import org.apache.log4j.HTMLLayout
28+ import org.apache.log4j.Layout
2829import org.apache.log4j.Level
2930import org.apache.log4j.LogManager
3031import org.apache.log4j.Logger
@@ -49,7 +50,7 @@ class Log4jConfig {
4950 static final PatternLayout DEFAULT_PATTERN_LAYOUT = new PatternLayout (
5051 conversionPattern : ' %d [%t] %-5p %c{2} %x - %m%n' )
5152
52- static final LAYOUTS = [xml : XMLLayout , html : HTMLLayout , simple : SimpleLayout , pattern : PatternLayout ]
53+ static final Map< String , Class< Layout > > LAYOUTS = [xml : XMLLayout , html : HTMLLayout , simple : SimpleLayout , pattern : PatternLayout ]
5354 static final APPENDERS = [jdbc : JDBCAppender , " null" : NullAppender , console : ConsoleAppender ,
5455 file : FileAppender , rollingFile : RollingFileAppender ]
5556
@@ -94,6 +95,7 @@ class Log4jConfig {
9495 PropertyConfigurator . configure(defaultLog4j)
9596 }
9697
98+ @CompileStatic
9799 def propertyMissing (String name ) {
98100 if (LAYOUTS . containsKey(name)) {
99101 return LAYOUTS [name]. newInstance()
@@ -190,6 +192,7 @@ class Log4jConfig {
190192 * an extension of LinkedHashMap, and thus returns its sub-keys in order of
191193 * definition.
192194 */
195+ @CompileStatic
193196 def configure (Map callables ) {
194197 configure(callables. values())
195198 }
@@ -208,6 +211,7 @@ class Log4jConfig {
208211 }
209212 }
210213
214+ @CompileStatic
211215 def configure (Closure callable ) {
212216
213217 Logger root = Logger . getRootLogger()
@@ -226,7 +230,7 @@ class Log4jConfig {
226230 callable. call(root)
227231
228232 if (! root. allAppenders. hasMoreElements()) {
229- root. addAppender appenders[' stdout' ]
233+ root. addAppender( ( Appender ) appenders[' stdout' ] )
230234 }
231235 Logger logger = Logger . getLogger(" StackTrace" )
232236 logger. additivity = false
@@ -252,9 +256,10 @@ class Log4jConfig {
252256 return consoleAppender
253257 }
254258
255- private createFullstackTraceAppender () {
259+ @CompileStatic
260+ private Appender createFullstackTraceAppender () {
256261 if (appenders. stacktrace) {
257- return appenders. stacktrace
262+ return ( Appender ) appenders. stacktrace
258263 }
259264
260265 def fileAppender = new FileAppender (layout :DEFAULT_PATTERN_LAYOUT , name :" stacktraceLog" )
@@ -338,34 +343,42 @@ log4j = {
338343 }
339344 }
340345
346+ @CompileStatic
341347 def off (Map appenderAndPackages ) {
342348 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . OFF )
343349 }
344350
351+ @CompileStatic
345352 def fatal (Map appenderAndPackages ) {
346353 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . FATAL )
347354 }
348355
356+ @CompileStatic
349357 def error (Map appenderAndPackages ) {
350358 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . ERROR )
351359 }
352360
361+ @CompileStatic
353362 def warn (Map appenderAndPackages ) {
354363 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . WARN )
355364 }
356365
366+ @CompileStatic
357367 def info (Map appenderAndPackages ) {
358368 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . INFO )
359369 }
360370
371+ @CompileStatic
361372 def debug (Map appenderAndPackages ) {
362373 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . DEBUG )
363374 }
364375
376+ @CompileStatic
365377 def trace (Map appenderAndPackages ) {
366378 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . TRACE )
367379 }
368380
381+ @CompileStatic
369382 def all (Map appenderAndPackages ) {
370383 setLogLevelForAppenderToPackageMap(appenderAndPackages, Level . ALL )
371384 }
@@ -388,52 +401,61 @@ log4j = {
388401 }
389402 }
390403
404+ @CompileStatic
391405 def eachLogger (packages , Closure callable ) {
392406 if (packages instanceof String || packages instanceof GString ) {
393- Logger logger = Logger . getLogger(packages)
407+ Logger logger = Logger . getLogger(( String ) packages)
394408 callable(logger)
395409 }
396410 else {
397411 for (p in packages) {
398- p = p?. toString()
399- if (p ) {
400- Logger logger = Logger . getLogger(p )
412+ String name = p?. toString()
413+ if (name ) {
414+ Logger logger = Logger . getLogger(name )
401415 callable(logger)
402416 }
403417 }
404418 }
405419 }
406420
421+ @CompileStatic
407422 def off (Object [] packages ) {
408- eachLogger(packages) { logger -> logger. level = Level . OFF }
423+ eachLogger(packages) { Logger logger -> logger. level = Level . OFF }
409424 }
410425
426+ @CompileStatic
411427 def fatal (Object [] packages ) {
412- eachLogger(packages) { logger -> logger. level = Level . FATAL }
428+ eachLogger(packages) { Logger logger -> logger. level = Level . FATAL }
413429 }
414430
431+ @CompileStatic
415432 def error (Object [] packages ) {
416- eachLogger(packages) { logger -> logger. level = Level . ERROR }
433+ eachLogger(packages) { Logger logger -> logger. level = Level . ERROR }
417434 }
418435
436+ @CompileStatic
419437 def warn (Object [] packages ) {
420- eachLogger(packages) { logger -> logger. level = Level . WARN }
438+ eachLogger(packages) { Logger logger -> logger. level = Level . WARN }
421439 }
422440
441+ @CompileStatic
423442 def info (Object [] packages ) {
424- eachLogger(packages) { logger -> logger. level = Level . INFO }
443+ eachLogger(packages) { Logger logger -> logger. level = Level . INFO }
425444 }
426445
446+ @CompileStatic
427447 def debug (Object [] packages ) {
428448 eachLogger(packages) { Logger logger -> logger. level = Level . DEBUG }
429449 }
430450
451+ @CompileStatic
431452 def trace (Object [] packages ) {
432- eachLogger(packages) { logger -> logger. level = Level . TRACE }
453+ eachLogger(packages) { Logger logger -> logger. level = Level . TRACE }
433454 }
434455
456+ @CompileStatic
435457 def all (Object [] packages ) {
436- eachLogger(packages) { logger -> logger. level = Level . ALL }
458+ eachLogger(packages) { Logger logger -> logger. level = Level . ALL }
437459 }
438460
439461 def removeAppender (String name ) {
0 commit comments