RouteInjector/route-injector

View on GitHub
lib/app/internals/Logger.js

Summary

Maintainability
A
1 hr
Test Coverage
"use strict";
/**
 * Created by gerard on 1/20/16.
 */
///<reference path='../../../typings/index.d.ts' />
var bunyan = require("bunyan");
var PrettyStream = require("bunyan-prettystream");
var prettyStdOut = new PrettyStream({ mode: 'pm2' });
prettyStdOut.pipe(process.stdout);
var Logger = /** @class */ (function () {
    function Logger() {
    }
    /**
     * Get a logger to log your application
     * @param tag optional parameter. You can tag your logs with tag
     * @returns {Logger}
     */
    Logger.getLogger = function (tag) {
        if (tag) {
            return Logger.logger.child({ tag: tag });
        }
        else {
            return Logger.logger;
        }
    };
    /**
     * Create a custom logger. Only for internal use.
     * @param name
     * @param options
     * @returns {Logger}
     */
    Logger.createCustomLogger = function (name, options) {
        return bunyan.createLogger({
            name: name,
            streams: [{
                    level: options.level || 'info',
                    type: 'raw',
                    stream: prettyStdOut
                }]
        });
    };
    /**
     * Set name
     * @param name
     */
    Logger.setName = function (name) {
        Logger.createCustomLogger(name, {
            level: "info"
        });
    };
    Logger.setLevel = function (value) {
        Logger.logger.level(value);
    };
    Logger.DEFAULT_LOGGER_NAME = "RouteInjector";
    Logger.logger = Logger.createCustomLogger(Logger.DEFAULT_LOGGER_NAME, {
        level: "info"
    });
    return Logger;
}());
module.exports = Logger;
//# sourceMappingURL=Logger.js.map