UNPKG

1.49 kBJavaScriptView Raw
1/*!
2 * Simple Node Mobile Portal
3 * Copyright(c) 2012 Faisal Kottarathil
4 * MIT Licensed
5 */
6/**
7 * Log middleware for `simpleportal.Server`
8 *
9 * @property logger
10 * @for simpleportal
11 * @type {logger}
12 * @static
13 */
14
15/**
16 * Log middleware for `simpleportal.Server`
17 *
18 * @class logger
19 * @module middleware
20 * @static
21 */
22var logger = module.exports = {};
23
24var loggerInstance;
25
26/**
27 * To get the `simpleportal.Logger` instance registered
28 *
29 * @method getInstance
30 * @param {} options options used in case the instance is already not available
31 *
32 * @return loggerInstance Instance of the `simpleportal.Logger` object
33 */
34logger.getInstance = function(options) {
35 var LoggerWrapper = require('./wrapper/logger').Logger;
36
37 if(!loggerInstance)
38 loggerInstance = new LoggerWrapper(options);
39
40 return loggerInstance;
41}
42
43/**
44 * To get the `simpleportal.Logger`.accessLog instance registered
45 *
46 * @method accessLog
47 * @return loggerInstance Access log stream
48 */
49logger.accessLog = function() {
50 if(loggerInstance)
51 return loggerInstance.accessLog();
52
53 return function(){};
54}
55
56/**
57 * To initialize the `simpleportal.logger` middleware
58 *
59 * @method init
60 * @param {} configuration Configuration for the middleware
61 * @param {callback} callback The callback to excecute when complete
62 */
63logger.init = function(configuration, callback){
64 if(configuration && configuration.logger){
65 loggerInstance=null;
66
67 logger.getInstance(configuration.logger);
68 }
69
70 if(callback)
71 callback();
72}
\No newline at end of file