-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy pathlog.js
39 lines (30 loc) · 1.07 KB
/
log.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import logger from "../modules/logger/index.js";
const name = "webpack-dev-server";
// default level is set on the client side, so it does not need
// to be set by the CLI or API
const defaultLevel = "info";
// options new options, merge with old options
/**
* @param {false | true | "none" | "error" | "warn" | "info" | "log" | "verbose"} level
* @returns {void}
*/
function setLogLevel(level) {
logger.configureDefaultLogger({ level });
}
setLogLevel(defaultLevel);
const log = logger.getLogger(name);
const logEnabledFeatures = (features) => {
const enabledFeatures = Object.entries(features);
if (!features || enabledFeatures.length === 0) {
return;
}
let logString = "Server started:";
// Server started: Hot Module Replacement enabled, Live Reloading enabled, Overlay disabled.
for (const [key, value] of Object.entries(features)) {
logString += ` ${key} ${value ? "enabled" : "disabled"},`;
}
// replace last comma with a period
logString = logString.slice(0, -1).concat(".");
log.info(logString);
};
export { log, logEnabledFeatures, setLogLevel };