< documentation
Plugins
Extension Points
logger 1.0.x
usage
Retrieves or creates a category logger. This plugin provides an efficient logging implementation that allows application components to log messages at 5 levels to a hierarchical category that can be tuned via app/configs/logging.js
options
creating
Loggers are created by simply defining their category.category | String | |
---|---|---|
A dot-delimited name, usually the namespace of the class the logger is being used in. |
using
All logger methods are chainable and use a sprintf style argument pattern. This mean the first arg is a string like "The %s fox jumped over the %s brown dog." and the remainder of the arguments are used to replace the %s in the string.argument[0] | String | |
---|---|---|
A sprintf style string used as the template for the logging message: eg "a+b=%s" | ||
argument[1..n] | Any | |
All remaining arguments are used to replace the %s values in the message template. |
examples
The logger is returned if any category configured in app/configs/logging.js matches, including the catch-all root category, otherwise a safe, efficient, chainable NullLogger instance is returned.
var log = $.logger("MyApp.Controller.HelloController"); log.debug("this is a %s message", 'debug'). info("this is a %s message", 'info'). warn("this is a %s message", 'warn'). error("this is a %s message", 'error'). exception(e);
Note that logging methods are chainable.
Creating Loggers as Closure Objects
It doesnt take much, just decide on the category name, and call $.logger.
(function($, $C){ //private static logger used across all instances var log; $C.Hello = function(options){ //initialize the instance $.extend(true, this, options); //initalize the logger log = log||$.logger('MyApp.Controllers.Hello'); }; $.extend($C.Hello.prototype,{ sayHello: function(name){ log.debug("Saying hello to %s", name); } }); })(jQuery, MyApp.Controllers);
releases
Project
- app
- app/boot
- app/boot/client.js
- app/boot/server.js
- app/configs
- app/configs/config.js
- app/configs/environments.js
- app/configs/filters.js
- app/configs/logging.js
- app/configs/routes.js
- app/controllers
- app/controllers/example.js
- app/models
- app/models/example.js
- app/services
- app/services/example.js
- app/templates
- app/templates/example.js
- app/views
- app/views/example.js
- index.html
Guides
This guide is applicable to both the jquery-claypool client and server application frameworks. Where the two differ functionally the documentation will provide notes and examples of usage in each environment.