ag-logger
An AngularJS logger with configurable log levels. All logging messages are delegated to Angular's $log service.
Getting Started
We use bower for dependency management. Install ag-logger
into your project by running:
$ bower install ag-logger
After installing ag-logger
, load the script file in your application:
<script type="text/javascript" src="bower_components/ag-logger/release/ag-logger.js"></script>
Then, add the ag-logger
module as a dependency to your application:
var appModule = angular.module('app', ['ag-logger']);
Usage
Levels
There are five logging levels available:
ERROR > WARN > INFO > LOG > DEBUG
When a logger is set to a particular level, it will only log messages at that are logged at a level greater than or equal to the level it's configured at. For instance, if the logger is set to WARN
level, it will log ERROR
and WARN
messages. If the logger is set to ERROR
level, it will only log ERROR
messages.
Logging can be configured as a provider or a service (or a combination of both).
angular.module('app', ['ag-logger']).
config(function(agLoggerProvider) {
agLoggerProvider.setLogLevel(agLoggerProvider.LOG_LEVELS.ERROR);
});
angular.module('app', ['ag-logger']).
controller('AppCtrl', AppCtrl);
function AppCtrl(agLogger) {
initLogging();
function initLogging() {
agLogger.setLogLevel(agLogger.LOG_LEVELS.WARN);
}
}
Logging Messages
Messages can be logged via the agLogger service.
Note: By default, all logging levels are enabled.
angular.module('app', ['ag-logger']).
controller('AppCtrl', AppCtrl);
function AppCtrl(agLogger) {
testLogging();
function testLogging() {
logger.setLogLevel(logger.LOG_LEVELS.WARN);
logger.error('Error message');
logger.warn('Warning message');
logger.info('Info message');
logger.log('Log message');
logger.debug('Debug message');
}
}
API Documentation
Note: By default, all logging levels are enabled.
Provider agLoggerProvider
function configFn(agLoggerProvider) {
var LOG_LEVELS = agLoggerProvider.LOG_LEVELS;
console.log(LOG_LEVELS.OFF);
console.log(LOG_LEVELS.ERROR);
console.log(LOG_LEVELS.WARN);
console.log(LOG_LEVELS.INFO);
console.log(LOG_LEVELS.LOG);
console.log(LOG_LEVELS.DEBUG);
console.log(LOG_LEVELS.ALL);
}
Note: LOG_LEVELS.OFF
and LOG_LEVELS.ALL
don't have corresponding log functions, they're just filter levels.
function configFn(agLoggerProvider) {
agLoggerProvider.setLogLevel(agLoggerProvider.LOG_LEVELS.WARN);
agLoggerProvider.setLogLevel('warn');
}
function configFn(agLoggerProvider) {
agLoggerProvider.setLogLevel(agLoggerProvider.LOG_LEVELS.ALL);
agLoggerProvider.setLogLevel('all');
agLoggerProvider.enableAll();
}
function configFn(agLoggerProvider) {
agLoggerProvider.setLogLevel(agLoggerProvider.LOG_LEVELS.OFF);
agLoggerProvider.setLogLevel('off');
agLoggerProvider.disableAll();
}
Service agLogger
function AppCtrl(agLogger) {
var LOG_LEVELS = agLogger.LOG_LEVELS;
console.log(LOG_LEVELS.OFF);
console.log(LOG_LEVELS.ERROR);
console.log(LOG_LEVELS.WARN);
console.log(LOG_LEVELS.INFO);
console.log(LOG_LEVELS.LOG);
console.log(LOG_LEVELS.DEBUG);
console.log(LOG_LEVELS.ALL);
}
function AppCtrl(agLogger) {
agLogger.setLogLevel(agLogger.LOG_LEVELS.WARN);
agLogger.setLogLevel('warn');
}
function config(agLogger) {
agLogger.setLogLevel(agLogger.LOG_LEVELS.ALL);
agLogger.setLogLevel('all');
agLogger.enableAll();
}
function config(agLogger) {
agLogger.setLogLevel(agLogger.LOG_LEVELS.OFF);
agLogger.setLogLevel('off');
agLogger.disableAll();
}
Logging functions
Messages will only be logged if they are logged at a level equal to or greater than the logger's configured level (see Usage).
-
void
error(message)
Logs the provided message at the error
level.
-
void
warn(message)
Logs the provided message at the warn
level.
-
void
info(message)
Logs the provided message at the info
level.
-
void
log(message)
Logs the provided message at the log
level.
-
void
debug(message)
Logs the provided message at the debug
level.