1
1
var winston = require ( "winston" ) ;
2
2
var fs = require ( "fs" ) ;
3
3
var util = require ( "util" ) ;
4
+ var q = require ( "q" ) ;
4
5
5
- var binPath = "bin" ;
6
- var servicePath = "parallel-queue-partitioner" ;
7
- var fullpath = util . format ( "./%s/%s" , binPath , servicePath ) ;
6
+ var logger ;
8
7
9
- if ( ! fs . existsSync ( util . format ( "./%s" , binPath ) ) ) {
10
- fs . mkdirSync ( util . format ( "./%s" , binPath ) ) ;
8
+ function newLogger ( ) {
9
+ return q . Promise ( function ( resolve ) {
10
+ var binPath = "bin" ;
11
+ var servicePath = "parallel-queue-partitioner" ;
12
+ var fullpath = util . format ( "./%s/%s" , binPath , servicePath ) ;
13
+
14
+ if ( ! fs . existsSync ( util . format ( "./%s" , binPath ) ) ) {
15
+ fs . mkdirSync ( util . format ( "./%s" , binPath ) ) ;
16
+ }
17
+
18
+ if ( ! fs . existsSync ( fullpath ) ) {
19
+ fs . mkdirSync ( fullpath ) ;
20
+ }
21
+
22
+ logger = new ( winston . Logger ) ( {
23
+ transports : [
24
+ new ( winston . transports . Console ) ( ) ,
25
+ new ( winston . transports . File ) ( {
26
+ filename : util . format ( "%s/pid-%s-partitioner.log" , fullpath , process . pid ) ,
27
+ handleExceptions : true ,
28
+ exitOnError : false ,
29
+ level : 'error' , //info, warning, error
30
+ maxsize : 625000 ,
31
+ zippedArchive : true
32
+ } )
33
+ ]
34
+ } ) ;
35
+ resolve ( logger ) ;
36
+ } ) ;
11
37
}
12
38
13
- if ( ! fs . existsSync ( fullpath ) ) {
14
- fs . mkdirSync ( fullpath ) ;
15
- }
16
-
17
- var logger = new ( winston . Logger ) ( {
18
- transports : [
19
- new ( winston . transports . Console ) ( ) ,
20
- new ( winston . transports . File ) ( {
21
- filename : util . format ( "%s/pid-%s-partitioner.log" , fullpath , process . pid ) ,
22
- handleExceptions : true ,
23
- exitOnError : false ,
24
- level : 'error' , //info, warning, error
25
- maxsize : 625000 ,
26
- zippedArchive : true
27
- } )
28
- ]
29
- } ) ;
30
-
31
- module . exports = logger ;
39
+ module . exports = {
40
+ new : newLogger ,
41
+ instance : function ( ) { return logger ; }
42
+ } ;
0 commit comments