Skip to content

Commit 804c3bb

Browse files
lonelyclickyyx990803
authored andcommitted
feat: add logger plugin logger config support (#771)
* feat: add logger plugin logger config * fix: make eslint happy
1 parent 92ef5ea commit 804c3bb

File tree

4 files changed

+17
-13
lines changed

4 files changed

+17
-13
lines changed

docs/en/plugins.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ const logger = createLogger({
116116
// mutations are logged in the format of `{ type, payload }`
117117
// we can format it any way we want.
118118
return mutation.type
119-
}
119+
},
120+
logger: console, // implementation of the `console` API, default `console`
120121
})
121122
```
122123

docs/fr/plugins.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ const logger = createLogger({
116116
// les mutations sont logguées au format `{ type, payload }`
117117
// nous pouvons les formater comme nous le souhaitons.
118118
return mutation.type
119-
}
119+
},
120+
logger: console, // implementation of the `console` API, default `console`
120121
})
121122
```
122123

docs/zh-cn/plugins.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ const logger = createLogger({
116116
// mutation 按照 { type, payload } 格式记录
117117
// 我们可以按任意方式格式化
118118
return mutation.type
119-
}
119+
},
120+
logger: console, // 自定义 console 实现,默认为 `console`
120121
})
121122
```
122123

src/plugins/logger.js

+11-10
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ export default function createLogger ({
66
collapsed = true,
77
filter = (mutation, stateBefore, stateAfter) => true,
88
transformer = state => state,
9-
mutationTransformer = mut => mut
9+
mutationTransformer = mut => mut,
10+
logger = console
1011
} = {}) {
1112
return store => {
1213
let prevState = deepCopy(store.state)
1314

1415
store.subscribe((mutation, state) => {
15-
if (typeof console === 'undefined') {
16+
if (typeof logger === 'undefined') {
1617
return
1718
}
1819
const nextState = deepCopy(state)
@@ -23,24 +24,24 @@ export default function createLogger ({
2324
const formattedMutation = mutationTransformer(mutation)
2425
const message = `mutation ${mutation.type}${formattedTime}`
2526
const startMessage = collapsed
26-
? console.groupCollapsed
27-
: console.group
27+
? logger.groupCollapsed
28+
: logger.group
2829

2930
// render
3031
try {
31-
startMessage.call(console, message)
32+
startMessage.call(logger, message)
3233
} catch (e) {
3334
console.log(message)
3435
}
3536

36-
console.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState))
37-
console.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation)
38-
console.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState))
37+
logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState))
38+
logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation)
39+
logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState))
3940

4041
try {
41-
console.groupEnd()
42+
logger.groupEnd()
4243
} catch (e) {
43-
console.log('—— log end ——')
44+
logger.log('—— log end ——')
4445
}
4546
}
4647

0 commit comments

Comments
 (0)