noggin
A Javascript logging utility supporting log levels and categories.
Usage (CoffeeScript)
logger = require'noggin'loggersetLogLevelnogginALLloggerinfo "Log level is now "#2013-01-02T03:31:32.242Z [DEBUG] [logger] Log level is now DEBUG | INFO | WARN | ERROR | FATAL loggerdebug "WAT?! NO"#2013-01-02T03:31:32.242Z [DEBUG] WAT?! NO loggererror "Database message"'database'#2013-01-02T03:31:32.242Z [ERROR] [database] Database message
Category wrapped logger (CoffeeScript)
logger = require'noggin'forCategory'database' loggersetLogLevelnogginALLloggerinfo "Log level for database category is now "#2013-01-02T03:31:32.242Z [DEBUG] [database] Log level for database is now DEBUG | INFO | WARN | ERROR | FATAL loggererror 'Database message'#2013-01-02T03:31:32.242Z [ERROR] [database] Database message
Override the default formatter
logger = require'noggin' #json output = msg = time: category: category level: level message: msg loggerinfo "This is a message""sys"#"time":"2013-01-02T03:31:32.242Z""category":"sys""level":"INFO""message":"This is a message"
Change output target
logger = require'noggin' #post it somewhere = ImaginaryHTTPpost"http://localhost/logsink"msg