1 8 package org.codehaus.dna.impl; 9 10 import junit.framework.TestCase; 11 import org.apache.log4j.Appender; 12 import org.apache.log4j.Level; 13 import org.apache.log4j.Logger; 14 import org.codehaus.dna.impl.Log4JLogger; 15 16 public class Log4JLoggerTestCase 17 extends TestCase 18 { 19 public void testLog4JLoggerEmptyCtor() 20 throws Exception 21 { 22 try 23 { 24 new Log4JLogger( null ); 25 } 26 catch( NullPointerException npe ) 27 { 28 assertEquals( "npe.getMessage()", "logger", npe.getMessage() ); 29 } 30 } 31 32 public void testLog4JLoggerGetChildLogger() 33 throws Exception 34 { 35 final MockAppender target = new MockAppender(); 36 final Log4JLogger logger = createLogger( target, Level.DEBUG ); 37 38 assertNotSame( "logger.getChildLogger == logger", 39 logger, 40 logger.getChildLogger( "whatever" ) ); 41 } 42 43 public void testLog4JLoggerTraceEnabled() 44 throws Exception 45 { 46 final Level level = Level.DEBUG; 47 final Level type = Level.DEBUG; 48 final String message = "Meep!"; 49 final Throwable throwable = null; 50 final boolean output = true; 51 52 final MockAppender target = new MockAppender(); 53 final Log4JLogger logger = createLogger( target, level ); 54 logger.trace( message ); 55 checkLogger( target, output, message, throwable, type ); 56 } 57 58 public void testLog4JLoggerTraceDisabled() 59 throws Exception 60 { 61 final Level level = Level.ERROR; 62 final String message = "Meep!"; 63 64 final MockAppender target = new MockAppender(); 65 final Log4JLogger logger = createLogger( target, level ); 66 logger.trace( message ); 67 checkLogger( target, false, null, null, null ); 68 } 69 70 public void testLog4JLoggerTraceWithExceptionEnabled() 71 throws Exception 72 { 73 final Level level = Level.DEBUG; 74 final Level type = Level.DEBUG; 75 final String message = "Meep!"; 76 final Throwable throwable = new Throwable (); 77 final boolean output = true; 78 79 final MockAppender target = new MockAppender(); 80 final Log4JLogger logger = createLogger( target, level ); 81 82 logger.trace( message, throwable ); 83 checkLogger( target, output, message, throwable, type ); 84 } 85 86 public void testLog4JLoggerTraceWithExceptionDisabled() 87 throws Exception 88 { 89 final Level level = Level.ERROR; 90 final String message = "Meep!"; 91 final Throwable throwable = new Throwable (); 92 93 final MockAppender target = new MockAppender(); 94 final Log4JLogger logger = createLogger( target, level ); 95 96 logger.trace( message, throwable ); 97 checkLogger( target, false, null, null, null ); 98 } 99 100 public void testLog4JLoggerDebugEnabled() 101 throws Exception 102 { 103 final Level level = Level.DEBUG; 104 final Level type = Level.DEBUG; 105 final String message = "Meep!"; 106 final Throwable throwable = null; 107 final boolean output = true; 108 109 final MockAppender target = new MockAppender(); 110 final Log4JLogger logger = createLogger( target, level ); 111 logger.debug( message ); 112 checkLogger( target, output, message, throwable, type ); 113 } 114 115 public void testLog4JLoggerDebugDisabled() 116 throws Exception 117 { 118 final Level level = Level.ERROR; 119 final String message = "Meep!"; 120 121 final MockAppender target = new MockAppender(); 122 final Log4JLogger logger = createLogger( target, level ); 123 logger.debug( message ); 124 checkLogger( target, false, null, null, null ); 125 } 126 127 public void testLog4JLoggerDebugWithExceptionEnabled() 128 throws Exception 129 { 130 final Level level = Level.DEBUG; 131 final Level type = Level.DEBUG; 132 final String message = "Meep!"; 133 final Throwable throwable = new Throwable (); 134 final boolean output = true; 135 136 final MockAppender target = new MockAppender(); 137 final Log4JLogger logger = createLogger( target, level ); 138 logger.debug( message, throwable ); 139 checkLogger( target, output, message, throwable, type ); 140 } 141 142 public void testLog4JLoggerDebugWithExceptionDisabled() 143 throws Exception 144 { 145 final Level level = Level.ERROR; 146 final String message = "Meep!"; 147 final Throwable throwable = new Throwable (); 148 149 final MockAppender target = new MockAppender(); 150 final Log4JLogger logger = createLogger( target, level ); 151 logger.debug( message, throwable ); 152 checkLogger( target, false, null, null, null ); 153 } 154 155 public void testLog4JLoggerInfoEnabled() 156 throws Exception 157 { 158 final Level level = Level.DEBUG; 159 final Level type = Level.INFO; 160 final String message = "Meep!"; 161 final Throwable throwable = null; 162 final boolean output = true; 163 164 final MockAppender target = new MockAppender(); 165 final Log4JLogger logger = createLogger( target, level ); 166 logger.info( message ); 167 checkLogger( target, output, message, throwable, type ); 168 } 169 170 public void testLog4JLoggerInfoDisabled() 171 throws Exception 172 { 173 final Level level = Level.ERROR; 174 final String message = "Meep!"; 175 176 final MockAppender target = new MockAppender(); 177 final Log4JLogger logger = createLogger( target, level ); 178 logger.info( message ); 179 checkLogger( target, false, null, null, null ); 180 } 181 182 public void testLog4JLoggerInfoWithExceptionEnabled() 183 throws Exception 184 { 185 final Level level = Level.DEBUG; 186 final Level type = Level.INFO; 187 final String message = "Meep!"; 188 final Throwable throwable = new Throwable (); 189 final boolean output = true; 190 191 final MockAppender target = new MockAppender(); 192 final Log4JLogger logger = createLogger( target, level ); 193 logger.info( message, throwable ); 194 checkLogger( target, output, message, throwable, type ); 195 } 196 197 public void testLog4JLoggerInfoWithExceptionDisabled() 198 throws Exception 199 { 200 final Level level = Level.ERROR; 201 final String message = "Meep!"; 202 final Throwable throwable = new Throwable (); 203 204 final MockAppender target = new MockAppender(); 205 final Log4JLogger logger = createLogger( target, level ); 206 logger.info( message, throwable ); 207 checkLogger( target, false, null, null, null ); 208 } 209 210 public void testLog4JLoggerWarnEnabled() 211 throws Exception 212 { 213 final Level level = Level.DEBUG; 214 final Level type = Level.WARN; 215 final String message = "Meep!"; 216 final Throwable throwable = null; 217 final boolean output = true; 218 219 final MockAppender target = new MockAppender(); 220 final Log4JLogger logger = createLogger( target, level ); 221 logger.warn( message ); 222 checkLogger( target, output, message, throwable, type ); 223 } 224 225 public void testLog4JLoggerWarnDisabled() 226 throws Exception 227 { 228 final Level level = Level.ERROR; 229 final String message = "Meep!"; 230 231 final MockAppender target = new MockAppender(); 232 final Log4JLogger logger = createLogger( target, level ); 233 logger.warn( message ); 234 checkLogger( target, false, null, null, null ); 235 } 236 237 public void testLog4JLoggerWarnWithExceptionEnabled() 238 throws Exception 239 { 240 final Level level = Level.DEBUG; 241 final Level type = Level.WARN; 242 final String message = "Meep!"; 243 final Throwable throwable = new Throwable (); 244 final boolean output = true; 245 246 final MockAppender target = new MockAppender(); 247 final Log4JLogger logger = createLogger( target, level ); 248 logger.warn( message, throwable ); 249 checkLogger( target, output, message, throwable, type ); 250 } 251 252 public void testLog4JLoggerWarnWithExceptionDisabled() 253 throws Exception 254 { 255 final Level level = Level.ERROR; 256 final String message = "Meep!"; 257 final Throwable throwable = new Throwable (); 258 259 final MockAppender target = new MockAppender(); 260 final Log4JLogger logger = createLogger( target, level ); 261 logger.warn( message, throwable ); 262 checkLogger( target, false, null, null, null ); 263 } 264 265 public void testLog4JLoggerErrorEnabled() 266 throws Exception 267 { 268 final Level level = Level.DEBUG; 269 final Level type = Level.ERROR; 270 final String message = "Meep!"; 271 final Throwable throwable = null; 272 final boolean output = true; 273 274 final MockAppender target = new MockAppender(); 275 final Log4JLogger logger = createLogger( target, level ); 276 logger.error( message ); 277 checkLogger( target, output, message, throwable, type ); 278 } 279 280 public void testLog4JLoggerErrorWithExceptionEnabled() 281 throws Exception 282 { 283 final Level level = Level.DEBUG; 284 final Level type = Level.ERROR; 285 final String message = "Meep!"; 286 final Throwable throwable = new Throwable (); 287 final boolean output = true; 288 289 final MockAppender target = new MockAppender(); 290 final Log4JLogger logger = createLogger( target, level ); 291 logger.error( message, throwable ); 292 checkLogger( target, output, message, throwable, type ); 293 } 294 295 public void testConsoleLevelComparisonWithDebugEnabled() 296 throws Exception 297 { 298 final MockAppender target = new MockAppender(); 299 final Log4JLogger logger = createLogger( target, Level.DEBUG ); 300 301 assertEquals( "logger.isTraceEnabled()", true, logger.isTraceEnabled() ); 302 assertEquals( "logger.isDebugEnabled()", true, logger.isDebugEnabled() ); 303 assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() ); 304 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 305 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 306 } 307 308 public void testConsoleLevelComparisonWithInfoEnabled() 309 throws Exception 310 { 311 final MockAppender target = new MockAppender(); 312 final Log4JLogger logger = createLogger( target, Level.INFO ); 313 314 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 315 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 316 assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() ); 317 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 318 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 319 } 320 321 public void testConsoleLevelComparisonWithWarnEnabled() 322 throws Exception 323 { 324 final MockAppender target = new MockAppender(); 325 final Log4JLogger logger = createLogger( target, Level.WARN ); 326 327 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 328 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 329 assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() ); 330 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 331 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 332 } 333 334 public void testConsoleLevelComparisonWithErrorEnabled() 335 throws Exception 336 { 337 final MockAppender target = new MockAppender(); 338 final Log4JLogger logger = createLogger( target, Level.ERROR ); 339 340 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 341 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 342 assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() ); 343 assertEquals( "logger.isWarnEnabled()", false, logger.isWarnEnabled() ); 344 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 345 } 346 347 private Log4JLogger createLogger( final Appender target, 348 final Level priority ) 349 { 350 final Logger log4jLogger = Logger.getLogger( "test" ); 351 log4jLogger.removeAllAppenders(); 352 log4jLogger.addAppender( target ); 353 log4jLogger.setLevel( priority ); 354 return new Log4JLogger( log4jLogger ); 355 } 356 357 private void checkLogger( final MockAppender target, 358 final boolean output, 359 final String message, 360 final Throwable throwable, 361 final Level priority ) 362 { 363 assertEquals( "logger.m_message == message", message, target.m_message ); 364 assertEquals( "logger.m_output == output", output, target.m_output ); 365 assertEquals( "logger.m_throwable == null", throwable, target.m_throwable ); 366 assertEquals( "logger.m_priority == null", priority, target.m_priority ); 367 } 368 } 369 | Popular Tags |