@ -32,6 +32,69 @@ function setupConsoleTest() {
}
}
vows . describe ( 'log4js' ) . addBatch ( {
vows . describe ( 'log4js' ) . addBatch ( {
'getBufferedLogger' : {
topic : function ( ) {
var log4js = require ( '../lib/log4js' ) ;
log4js . clearAppenders ( ) ;
var logger = log4js . getBufferedLogger ( 'tests' ) ;
logger . setLevel ( "DEBUG" ) ;
return logger ;
} ,
'should take a category and return a logger' : function ( logger ) {
assert . equal ( logger . category , 'tests' ) ;
assert . equal ( logger . level . toString ( ) , "DEBUG" ) ;
assert . isFunction ( logger . trace ) ;
assert . isFunction ( logger . debug ) ;
assert . isFunction ( logger . info ) ;
assert . isFunction ( logger . warn ) ;
assert . isFunction ( logger . error ) ;
assert . isFunction ( logger . fatal ) ;
} ,
'cache events' : {
topic : function ( logger ) {
var events = [ ] ;
logger . addListener ( "log" , function ( logEvent ) { events . push ( logEvent ) ; } ) ;
logger . debug ( "Debug event" ) ;
logger . trace ( "Trace event 1" ) ;
logger . trace ( "Trace event 2" ) ;
logger . warn ( "Warning event" ) ;
logger . error ( "Aargh!" , new Error ( "Pants are on fire!" ) ) ;
logger . error ( "Simulated CouchDB problem" , { err : 127 , cause : "incendiary underwear" } ) ;
return events ;
} ,
'should not emit log events until .flush() is called.' : function ( events ) {
assert . equal ( events . length , 0 ) ;
} ,
'log events' : {
topic : function ( logger ) {
logger . flush ( ) ;
} ,
'should emit log events after .flush() is called.' : function ( events ) {
assert . equal ( events [ 0 ] . level . toString ( ) , 'DEBUG' ) ;
assert . equal ( events [ 0 ] . data [ 0 ] , 'Debug event' ) ;
assert . instanceOf ( events [ 0 ] . startTime , Date ) ;
} ,
'should not emit events of a lower level' : function ( events ) {
assert . equal ( events . length , 4 ) ;
assert . equal ( events [ 1 ] . level . toString ( ) , 'WARN' ) ;
} ,
'should include the error if passed in' : function ( events ) {
assert . instanceOf ( events [ 2 ] . data [ 1 ] , Error ) ;
assert . equal ( events [ 2 ] . data [ 1 ] . message , 'Pants are on fire!' ) ;
}
}
}
} ,
'getLogger' : {
'getLogger' : {
topic : function ( ) {
topic : function ( ) {
var log4js = require ( '../lib/log4js' ) ;
var log4js = require ( '../lib/log4js' ) ;