Skip to content

Commit 67bc95f

Browse files
committed
use winston.http to log morgan, and adjust development output
1 parent c27a734 commit 67bc95f

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

lib/app.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ app.use(expressPrometheusMetricsMiddleware({
7575
}))
7676

7777
// logger
78-
app.use(morgan('combined', {
79-
stream: logger.stream
78+
const morganLogType = config.env === config.Environment.development ? 'dev' : 'combined'
79+
app.use(morgan(morganLogType, {
80+
stream: logger.morganLog,
8081
}))
8182

8283
// socket io
@@ -338,6 +339,7 @@ function handleTermSignals() {
338339
process.exit(1)
339340
}, 5000)
340341
}
342+
341343
process.on('SIGINT', handleTermSignals)
342344
process.on('SIGTERM', handleTermSignals)
343345
process.on('SIGQUIT', handleTermSignals)

lib/config/default.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const defaultConfig = {
55
urlPath: '',
66
host: '0.0.0.0',
77
port: 3000,
8-
loglevel: 'info',
8+
loglevel: 'http',
99
urlAddPort: false,
1010
allowOrigin: ['localhost'],
1111
useSSL: false,

lib/config/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ merge(config, require('./environment'))
4646
// eslint-disable-next-line @typescript-eslint/no-var-requires
4747
merge(config, require('./dockerSecret'))
4848

49-
if (['debug', 'verbose', 'info', 'warn', 'error'].includes(config.loglevel)) {
49+
if (['debug', 'verbose', 'http', 'info', 'warn', 'error'].includes(config.loglevel)) {
5050
logger.setLevel(config.loglevel)
5151
} else {
5252
logger.error('Selected loglevel %s doesn\'t exist, using default level \'debug\'. Available options: debug, verbose, info, warn, error', config.loglevel)
@@ -213,7 +213,7 @@ config.tmpPath = path.resolve(appRootPath, config.tmpPath)
213213
config.defaultNotePath = path.resolve(appRootPath, config.defaultNotePath)
214214
config.docsPath = path.resolve(appRootPath, config.docsPath)
215215
config.uploadsPath = path.resolve(appRootPath, config.uploadsPath)
216-
216+
config.env = env
217217
// make config readonly
218218
config = deepFreeze(config) as any
219219

lib/logger.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import {createLogger, format, transports, Logger} from "winston";
22

3+
34
type CodiMDLogger = Logger & {
4-
stream: any
5+
morganLog?: {
6+
write: (message: string) => void
7+
}
58
setLevel?: (string) => void
69
}
710

@@ -23,7 +26,6 @@ if (process.env.NODE_ENV === 'development' || !process.env.NODE_ENV) {
2326
}
2427

2528
const logger: CodiMDLogger = createLogger({
26-
level: 'debug',
2729
format: defaultFormatter,
2830
transports: [
2931
new transports.Console({
@@ -33,9 +35,10 @@ const logger: CodiMDLogger = createLogger({
3335
exitOnError: false
3436
})
3537

36-
logger.stream = {
37-
write: function (message, encoding) {
38-
logger.info(message)
38+
// for morgan used
39+
logger.morganLog = {
40+
write: buffer => {
41+
logger.http(buffer.trim())
3942
}
4043
}
4144

0 commit comments

Comments
 (0)