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 | */
|
22 | var logger = module.exports = {};
|
23 |
|
24 | var 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 | */
|
34 | logger.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 | */
|
49 | logger.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 | */
|
63 | logger.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 |