107 lines
3.7 KiB
TypeScript
107 lines
3.7 KiB
TypeScript
import * as plugins from "./beautylog.plugins";
|
|
import { beautyConsole } from "./beautylog.console";
|
|
import {remoteLog} from "./beautylog.remote";
|
|
|
|
/**
|
|
*
|
|
* @param logText
|
|
* @param logType
|
|
* @returns {boolean}
|
|
*/
|
|
export let internalLog = function (logType: string = 'normal', logText: string = 'empty log') {
|
|
switch (plugins.smartenv.getEnv().runtimeEnv){
|
|
case "node":
|
|
logNode(logType,logText);
|
|
remoteLog(logType,logText);
|
|
break;
|
|
case "browser":
|
|
logBrowser(logText, logType);
|
|
break;
|
|
default:
|
|
console.log("something is strange about the platform in which you try to use beautylog");
|
|
break;
|
|
};
|
|
};
|
|
|
|
let localBl = {
|
|
dirPrefix: plugins.clc.bgXterm(39).xterm(231).bold(' DIR ') + ' ',
|
|
errorPrefix: ' Error: '.bgRed.white.bold + ' ',
|
|
infoPrefix: plugins.clc.bgXterm(198).xterm(231).bold(' INFO ') + ' ',
|
|
normalPrefix: ' Log: '.bgCyan.white.bold + ' ',
|
|
okPrefix: ' '.bgGreen + ' OK! '.bgBlack.green.bold + ' ',
|
|
successPrefix: ' Success: '.bgGreen.white.bold + ' ',
|
|
warnPrefix: ' '.bgYellow + ' Warn: '.bgBlack.yellow.bold + ' '
|
|
};
|
|
|
|
export let logNode = function (logType: string,logText: string) {
|
|
try {
|
|
switch (logType) {
|
|
case 'dir':
|
|
logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText);
|
|
break;
|
|
case 'error':
|
|
logText = localBl.errorPrefix + logText.red.bold;
|
|
break;
|
|
case 'info':
|
|
logText = localBl.infoPrefix + plugins.clc.xterm(198)(logText);
|
|
break;
|
|
case 'normal':
|
|
logText = localBl.normalPrefix + logText.cyan.bold;
|
|
break;
|
|
case 'ok':
|
|
logText = localBl.okPrefix + logText.bold;
|
|
break;
|
|
case 'success':
|
|
logText = localBl.successPrefix + logText.green.bold;
|
|
break;
|
|
case 'warn':
|
|
logText = localBl.warnPrefix + logText.bold;
|
|
break;
|
|
case 'log':
|
|
logText = localBl.normalPrefix + logText.blue.bold;
|
|
break;
|
|
default:
|
|
logText.blue.bold;
|
|
console.log(('unknown logType for "' + logText + '"').red.bold);
|
|
break;
|
|
}
|
|
beautyConsole.log(logText);
|
|
return true;
|
|
}
|
|
catch (error) {
|
|
console.log(localBl.errorPrefix + 'You seem to have tried logging something strange'.red.bold + error);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
let logBrowser = function (logText, logType) {
|
|
switch (logType) {
|
|
case 'dir':
|
|
logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText);
|
|
break;
|
|
case 'error':
|
|
logText = localBl.errorPrefix + logText.red.bold;
|
|
break;
|
|
case 'info':
|
|
console.log('%c Info: %c ' + logText, 'background:#EC407A;color:#ffffff;', 'color:#EC407A;');
|
|
break;
|
|
case 'normal':
|
|
logText = localBl.normalPrefix + logText.cyan.bold;
|
|
break;
|
|
case 'ok':
|
|
console.log('%c OK: %c ' + logText, "background:#000000;color:#8BC34A;", "color:#000000;");
|
|
break;
|
|
case 'success':
|
|
console.log('%c Success: %c ' + logText, "background:#8BC34A;color:#ffffff;", "color:#8BC34A;");
|
|
break;
|
|
case 'warn':
|
|
console.log('%c Warn: %c ' + logText, "background:#000000;color:#FB8C00;", "color:#000000;");
|
|
break;
|
|
case 'log':
|
|
console.log('%c Log: %c ' + logText, "background:#42A5F5;color:#ffffff", "color:#42A5F5;");
|
|
break;
|
|
default:
|
|
console.log('unknown logType for "' + logText + '"');
|
|
break;
|
|
}
|
|
}; |