MCPcopy
hub / github.com/webpack/webpack / logger

Function logger

lib/logging/createConsoleLogger.js:107–222  ·  view source on GitHub ↗
(name, type, args)

Source from the content-addressed store, hash-verified

105 * @returns {void}
106 */
107 const logger = (name, type, args) => {
108 /**
109 * Returns labeled args.
110 * @template T
111 * @returns {[string?, ...T[]]} labeled args
112 */
113 const labeledArgs = () => {
114 if (Array.isArray(args)) {
115 if (args.length > 0 && typeof args[0] === "string") {
116 return [`[${name}] ${args[0]}`, ...args.slice(1)];
117 }
118 return [`[${name}]`, ...args];
119 }
120 return [];
121 };
122 const debug = debugFilters.some((f) => f(name));
123 switch (type) {
124 case LogType.debug:
125 if (!debug) return;
126 if (typeof console.debug === "function") {
127 console.debug(...labeledArgs());
128 } else {
129 console.log(...labeledArgs());
130 }
131 break;
132 case LogType.log:
133 if (!debug && loglevel > LogLevel.log) return;
134 console.log(...labeledArgs());
135 break;
136 case LogType.info:
137 if (!debug && loglevel > LogLevel.info) return;
138 console.info(...labeledArgs());
139 break;
140 case LogType.warn:
141 if (!debug && loglevel > LogLevel.warn) return;
142 console.warn(...labeledArgs());
143 break;
144 case LogType.error:
145 if (!debug && loglevel > LogLevel.error) return;
146 console.error(...labeledArgs());
147 break;
148 case LogType.trace:
149 if (!debug) return;
150 console.trace();
151 break;
152 case LogType.groupCollapsed:
153 if (!debug && loglevel > LogLevel.log) return;
154 if (!debug && loglevel > LogLevel.verbose) {
155 if (typeof console.groupCollapsed === "function") {
156 console.groupCollapsed(...labeledArgs());
157 } else {
158 console.log(...labeledArgs());
159 }
160 break;
161 }
162 // falls through
163 case LogType.group:
164 if (!debug && loglevel > LogLevel.log) return;

Callers

nothing calls this directly

Calls 15

labeledArgsFunction · 0.85
debugMethod · 0.80
logMethod · 0.80
infoMethod · 0.80
warnMethod · 0.80
traceMethod · 0.80
groupCollapsedMethod · 0.80
groupMethod · 0.80
groupEndMethod · 0.80
profileEndMethod · 0.80
statusMethod · 0.65
fFunction · 0.50

Tested by

no test coverage detected