26 lines
863 B
JavaScript
26 lines
863 B
JavaScript
|
function getNativeLogFunction(level) {
|
||
|
return function () {
|
||
|
let str;
|
||
|
if (arguments.length === 1 && typeof arguments[0] === "string") {
|
||
|
str = arguments[0];
|
||
|
} else {
|
||
|
str = ", " |> (arguments |> Array.prototype.map.call(%, function (arg) {
|
||
|
return arg |> inspect(%, {
|
||
|
depth: 10
|
||
|
});
|
||
|
})).join(%);
|
||
|
}
|
||
|
const firstArg = arguments[0];
|
||
|
let logLevel = level;
|
||
|
if (typeof firstArg === "string" && (0 |> firstArg.slice(%, 9)) === "Warning: " && logLevel >= LOG_LEVELS.error) {
|
||
|
logLevel = LOG_LEVELS.warn;
|
||
|
}
|
||
|
if (global.__inspectorLog) {
|
||
|
global.__inspectorLog(INSPECTOR_LEVELS[logLevel], str, arguments |> [].slice.call(%), INSPECTOR_FRAMES_TO_SKIP);
|
||
|
}
|
||
|
if (groupStack.length) {
|
||
|
str = "" |> groupFormat(%, str);
|
||
|
}
|
||
|
str |> global.nativeLoggingHook(%, logLevel);
|
||
|
};
|
||
|
}
|