parent
85263af902
commit
7b31890a2f
|
@ -304,7 +304,7 @@ export interface WebpackOptions {
|
|||
/**
|
||||
* Log level
|
||||
*/
|
||||
level?: "error" | "warn" | "info" | "log" | "verbose";
|
||||
level?: "none" | "error" | "warn" | "info" | "log" | "verbose";
|
||||
};
|
||||
/**
|
||||
* Custom values available in the loader context.
|
||||
|
@ -1359,7 +1359,7 @@ export interface StatsOptions {
|
|||
/**
|
||||
* add logging output
|
||||
*/
|
||||
logging?: boolean | ("error" | "warn" | "info" | "log" | "verbose");
|
||||
logging?: boolean | ("none" | "error" | "warn" | "info" | "log" | "verbose");
|
||||
/**
|
||||
* Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions
|
||||
*/
|
||||
|
|
|
@ -718,6 +718,9 @@ class Stats {
|
|||
let acceptedTypes;
|
||||
let collapsedGroups = false;
|
||||
switch (showLogging) {
|
||||
case "none":
|
||||
acceptedTypes = new Set([]);
|
||||
break;
|
||||
case "error":
|
||||
acceptedTypes = new Set([LogType.error]);
|
||||
break;
|
||||
|
@ -763,7 +766,7 @@ class Stats {
|
|||
let processedLogEntries = logEntries;
|
||||
if (!debugMode) {
|
||||
processedLogEntries = processedLogEntries.filter(entry => {
|
||||
if (acceptedTypes && !acceptedTypes.has(entry.type)) return false;
|
||||
if (!acceptedTypes.has(entry.type)) return false;
|
||||
if (!collapsedGroups) {
|
||||
switch (entry.type) {
|
||||
case LogType.groupCollapsed:
|
||||
|
|
|
@ -48,6 +48,7 @@ const filterToFunction = item => {
|
|||
/**
|
||||
* @enum {number} */
|
||||
const LogLevel = {
|
||||
none: 6,
|
||||
false: 6,
|
||||
error: 5,
|
||||
warn: 4,
|
||||
|
|
|
@ -1831,7 +1831,7 @@
|
|||
},
|
||||
{
|
||||
"description": "specify log level of logging output",
|
||||
"enum": ["error", "warn", "info", "log", "verbose"]
|
||||
"enum": ["none", "error", "warn", "info", "log", "verbose"]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -2044,7 +2044,7 @@
|
|||
},
|
||||
"level": {
|
||||
"description": "Log level",
|
||||
"enum": ["error", "warn", "info", "log", "verbose"]
|
||||
"enum": ["none", "error", "warn", "info", "log", "verbose"]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -542,22 +542,24 @@ describe("Compiler", () => {
|
|||
delete spies[method];
|
||||
}
|
||||
});
|
||||
it("should log to the console", done => {
|
||||
class MyPlugin {
|
||||
apply(compiler) {
|
||||
const logger = compiler.getInfrastructureLogger("MyPlugin");
|
||||
logger.group("Group");
|
||||
logger.error("Error");
|
||||
logger.warn("Warning");
|
||||
logger.info("Info");
|
||||
logger.log("Log");
|
||||
logger.debug("Debug");
|
||||
logger.groupCollapsed("Collaped group");
|
||||
logger.log("Log inside collapsed group");
|
||||
logger.groupEnd();
|
||||
logger.groupEnd();
|
||||
}
|
||||
class MyPlugin {
|
||||
apply(compiler) {
|
||||
const logger = compiler.getInfrastructureLogger("MyPlugin");
|
||||
logger.time("Time");
|
||||
logger.group("Group");
|
||||
logger.error("Error");
|
||||
logger.warn("Warning");
|
||||
logger.info("Info");
|
||||
logger.log("Log");
|
||||
logger.debug("Debug");
|
||||
logger.groupCollapsed("Collaped group");
|
||||
logger.log("Log inside collapsed group");
|
||||
logger.groupEnd();
|
||||
logger.groupEnd();
|
||||
logger.timeEnd("Time");
|
||||
}
|
||||
}
|
||||
it("should log to the console (verbose)", done => {
|
||||
const compiler = webpack({
|
||||
context: path.join(__dirname, "fixtures"),
|
||||
entry: "./a",
|
||||
|
@ -584,7 +586,7 @@ describe("Compiler", () => {
|
|||
expect(spies.warn).toHaveBeenCalledWith("<w> [MyPlugin] Warning");
|
||||
expect(spies.info).toHaveBeenCalledTimes(1);
|
||||
expect(spies.info).toHaveBeenCalledWith("<i> [MyPlugin] Info");
|
||||
expect(spies.log).toHaveBeenCalledTimes(2);
|
||||
expect(spies.log).toHaveBeenCalledTimes(3);
|
||||
expect(spies.log).toHaveBeenCalledWith("[MyPlugin] Log");
|
||||
expect(spies.log).toHaveBeenCalledWith(
|
||||
"[MyPlugin] Log inside collapsed group"
|
||||
|
@ -594,5 +596,70 @@ describe("Compiler", () => {
|
|||
done();
|
||||
});
|
||||
});
|
||||
it("should log to the console (debug mode)", done => {
|
||||
const compiler = webpack({
|
||||
context: path.join(__dirname, "fixtures"),
|
||||
entry: "./a",
|
||||
output: {
|
||||
path: "/",
|
||||
filename: "bundle.js"
|
||||
},
|
||||
infrastructureLogging: {
|
||||
level: "error",
|
||||
debug: /MyPlugin/
|
||||
},
|
||||
plugins: [new MyPlugin()]
|
||||
});
|
||||
compiler.outputFileSystem = new MemoryFs();
|
||||
compiler.run((err, stats) => {
|
||||
expect(spies.group).toHaveBeenCalledTimes(1);
|
||||
expect(spies.group).toHaveBeenCalledWith("[MyPlugin] Group");
|
||||
expect(spies.groupCollapsed).toHaveBeenCalledTimes(1);
|
||||
expect(spies.groupCollapsed).toHaveBeenCalledWith(
|
||||
"[MyPlugin] Collaped group"
|
||||
);
|
||||
expect(spies.error).toHaveBeenCalledTimes(1);
|
||||
expect(spies.error).toHaveBeenCalledWith("<e> [MyPlugin] Error");
|
||||
expect(spies.warn).toHaveBeenCalledTimes(1);
|
||||
expect(spies.warn).toHaveBeenCalledWith("<w> [MyPlugin] Warning");
|
||||
expect(spies.info).toHaveBeenCalledTimes(1);
|
||||
expect(spies.info).toHaveBeenCalledWith("<i> [MyPlugin] Info");
|
||||
expect(spies.log).toHaveBeenCalledTimes(3);
|
||||
expect(spies.log).toHaveBeenCalledWith("[MyPlugin] Log");
|
||||
expect(spies.log).toHaveBeenCalledWith(
|
||||
"[MyPlugin] Log inside collapsed group"
|
||||
);
|
||||
expect(spies.debug).toHaveBeenCalledTimes(1);
|
||||
expect(spies.debug).toHaveBeenCalledWith("[MyPlugin] Debug");
|
||||
expect(spies.groupEnd).toHaveBeenCalledTimes(2);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it("should log to the console (none)", done => {
|
||||
const compiler = webpack({
|
||||
context: path.join(__dirname, "fixtures"),
|
||||
entry: "./a",
|
||||
output: {
|
||||
path: "/",
|
||||
filename: "bundle.js"
|
||||
},
|
||||
infrastructureLogging: {
|
||||
level: "none"
|
||||
},
|
||||
plugins: [new MyPlugin()]
|
||||
});
|
||||
compiler.outputFileSystem = new MemoryFs();
|
||||
compiler.run((err, stats) => {
|
||||
expect(spies.group).toHaveBeenCalledTimes(0);
|
||||
expect(spies.groupCollapsed).toHaveBeenCalledTimes(0);
|
||||
expect(spies.error).toHaveBeenCalledTimes(0);
|
||||
expect(spies.warn).toHaveBeenCalledTimes(0);
|
||||
expect(spies.info).toHaveBeenCalledTimes(0);
|
||||
expect(spies.log).toHaveBeenCalledTimes(0);
|
||||
expect(spies.debug).toHaveBeenCalledTimes(0);
|
||||
expect(spies.groupEnd).toHaveBeenCalledTimes(0);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue