Skip to content

Commit 305def6

Browse files
authored
Merge pull request #207 from azzamh/feature/min-log-level
feat(config): add min logLevelThreshold option
2 parents 806fafc + e2ef79b commit 305def6

4 files changed

Lines changed: 28 additions & 17 deletions

File tree

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,9 @@ export default defineNuxtConfig({
6868
// ...
6969
pong: {
7070
// ...
71-
traceReqBody: true,
72-
traceResBody: true,
71+
traceReqBody : true,
72+
traceResBody : true,
73+
logLevelThreshold : 'info',
7374
// ...
7475
},
7576
})

playground/nuxt.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ export default defineNuxtConfig({
1919
},
2020
runtimeConfig: { public: { showMe: 'SHOW ME' } },
2121
pong : {
22-
traceReqBody: true,
23-
traceResBody: true,
22+
traceReqBody : true,
23+
traceResBody : true,
24+
logLevelThreshold: 'info',
2425
},
2526
})

src/core/logger.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ export function useLogger () {
3333
return reqId && isUUID(reqId) ? reqId : uuidv4()
3434
},
3535
customLogLevel (req, res, err) {
36+
const { logLevelThreshold } = config.pong
37+
3638
if (res.statusCode >= 500 || err)
3739
return 'error'
38-
else if (res.statusCode >= 400 && res.statusCode < 500)
40+
else if (res.statusCode >= 400 && res.statusCode < 500) {
41+
if (logLevelThreshold === 'error')
42+
return 'silent'
3943
return 'warn'
40-
else if (res.statusCode >= 300 && res.statusCode < 400)
44+
} else if (res.statusCode >= 300 && res.statusCode < 400)
4145
return 'silent'
4246

43-
return 'info'
47+
return logLevelThreshold === 'error' || logLevelThreshold === 'warn' ? 'silent' : 'info'
4448
},
4549
})
4650

src/module.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ export interface ModuleOptions {
7676
* Body Parser JSON options
7777
*/
7878
bodyParser?: OptionsJson,
79+
/**
80+
* Minimum log level sent to the logger
81+
*/
82+
logLevelThreshold?: 'error' | 'warn' | 'info',
7983
}
8084

8185
export interface ModuleRuntimeConfig {
@@ -90,16 +94,17 @@ export default defineNuxtModule<ModuleOptions>({
9094
},
9195
// Default configuration options of the Nuxt module
9296
defaults: {
93-
ping : true,
94-
logger : true,
95-
tracer : true,
96-
tracerBlocklist: [],
97-
traceReqBody : false,
98-
traceResBody : false,
99-
nuapi : true,
100-
debug : true,
101-
sysinfo : true,
102-
bodyParser : {},
97+
ping : true,
98+
logger : true,
99+
tracer : true,
100+
tracerBlocklist : [],
101+
traceReqBody : false,
102+
traceResBody : false,
103+
nuapi : true,
104+
debug : true,
105+
sysinfo : true,
106+
bodyParser : {},
107+
logLevelThreshold: 'info',
103108
},
104109
setup (options, nuxt) {
105110
const { resolve } = createResolver(import.meta.url)

0 commit comments

Comments
 (0)