File tree Expand file tree Collapse file tree 3 files changed +56
-6
lines changed Expand file tree Collapse file tree 3 files changed +56
-6
lines changed Original file line number Diff line number Diff line change 1
1
import winston from 'winston'
2
2
import Sentry from 'winston-transport-sentry-node'
3
3
import { SENTRY_DSN } from './common'
4
- import logLevel from '../utils/logLevel'
4
+ import { logLevel , logLevels } from '../utils/logLevel'
5
+
6
+ winston . addColors ( logLevels . colors )
5
7
6
8
const logger = winston . createLogger ( {
9
+ levels : logLevels . levels ,
7
10
level : logLevel ( ) ,
8
11
format : winston . format . combine (
12
+ winston . format . colorize ( { all : true } ) ,
9
13
winston . format . json ( ) ,
10
- winston . format . colorize ( )
14
+ winston . format . timestamp ( { format : 'YYYY-MM-DD HH:mm:ss' } ) ,
15
+ winston . format . printf ( info => {
16
+ return (
17
+ Object . keys ( info )
18
+ . reverse ( )
19
+ . reduce ( ( acc , key , i ) => {
20
+ if ( typeof key === 'string' ) {
21
+ if ( i > 0 ) acc += ', '
22
+ acc += `"${ key } ": "${ info [ key ] } "`
23
+ }
24
+
25
+ return acc
26
+ } , '{ ' ) + ' }'
27
+ )
28
+ } )
11
29
) ,
12
30
transports : [
13
31
new winston . transports . Console ( { handleExceptions : true } ) ,
Original file line number Diff line number Diff line change @@ -3,15 +3,16 @@ import winston from 'winston'
3
3
import expressWinston from 'express-winston'
4
4
import Sentry from 'winston-transport-sentry-node'
5
5
import { SENTRY_DSN } from '../config/common'
6
- import logLevel from '../utils/logLevel'
6
+ import { logLevel } from '../utils/logLevel'
7
7
8
8
const handleLogging = ( router : Router ) =>
9
9
router . use (
10
10
expressWinston . logger ( {
11
+ msg : 'HTTP {{req.method}} {{req.url}}' ,
11
12
format : winston . format . combine (
12
- winston . format . json ( ) ,
13
13
winston . format . colorize ( { all : true } ) ,
14
- winston . format . timestamp ( { format : 'YYYY-MM-DD HH:mm:ss:ms' } ) ,
14
+ winston . format . json ( ) ,
15
+ winston . format . timestamp ( { format : 'YYYY-MM-DD HH:mm:ss' } ) ,
15
16
winston . format . printf (
16
17
info => `${ info . timestamp } ${ info . level } : ${ info . message } `
17
18
)
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @desc
3
+ * Only log levels less than or equal to this level.
4
+ */
1
5
const logLevel = ( ) => {
2
6
const env = process . env . NODE_ENV || 'development'
3
7
return env === 'development' ? 'debug' : 'warn'
4
8
}
5
9
6
- export default logLevel
10
+ /**
11
+ * @desc
12
+ * Levels (and colors) representing log priorities.
13
+ */
14
+ const logLevels = {
15
+ levels : {
16
+ emerg : 0 ,
17
+ alert : 1 ,
18
+ crit : 2 ,
19
+ error : 3 ,
20
+ warn : 4 ,
21
+ notice : 5 ,
22
+ info : 6 ,
23
+ debug : 7
24
+ } ,
25
+ colors : {
26
+ emerg : 'bold red' ,
27
+ alert : 'bold yellow' ,
28
+ crit : 'bold red' ,
29
+ error : 'bold red' ,
30
+ warn : 'bold red' ,
31
+ notice : 'yellow' ,
32
+ info : 'green' ,
33
+ debug : 'blue'
34
+ }
35
+ }
36
+
37
+ export { logLevel , logLevels }
You can’t perform that action at this time.
0 commit comments