smartlog-destination-local/ts/beautylog.log.helpers.ts

117 lines
4.2 KiB
TypeScript
Raw Normal View History

2016-10-16 00:26:43 +00:00
import * as plugins from './beautylog.plugins'
import { beautyConsole } from './beautylog.console'
import { remoteLog } from './beautylog.remote'
2016-07-23 23:17:38 +00:00
/**
*
* @param logText
* @param logType
* @returns {boolean}
*/
export let internalLog = function (logType: string = 'normal', logText: string = 'empty log') {
2016-10-16 00:26:43 +00:00
switch (plugins.smartenv.getEnv().runtimeEnv) {
case 'node':
logNode(logType, logText)
remoteLog(logType, logText)
break
case 'browser':
logBrowser(logText, logType)
break
2016-07-23 23:17:38 +00:00
default:
2016-10-16 00:26:43 +00:00
console.log('something is strange about the platform in which you try to use beautylog')
break
}
}
let xC = {
black: 232,
blue: 39,
cyan: 87,
green: 112,
red: 196,
2017-01-21 00:05:28 +00:00
white: 231
2016-10-16 00:26:43 +00:00
}
2016-05-02 00:23:40 +00:00
2016-06-16 00:17:28 +00:00
let localBl = {
2016-10-16 00:26:43 +00:00
dirPrefix: plugins.clc.bgXterm(xC.blue).xterm(xC.white).bold(' DIR ') + ' ',
errorPrefix: plugins.clc.bgXterm(xC.red)(' ') + plugins.clc.bgXterm(xC.black).xterm(xC.red).bold(' Error: ') + ' ',
2016-05-02 00:23:40 +00:00
infoPrefix: plugins.clc.bgXterm(198).xterm(231).bold(' INFO ') + ' ',
2016-10-16 00:26:43 +00:00
logPrefix: plugins.clc.bgXterm(xC.cyan)(' ') + plugins.clc.bgXterm(xC.black).xterm(xC.cyan).bold(' Log: ') + ' ',
okPrefix: plugins.clc.bgXterm(xC.green)(' ') + plugins.clc.bgXterm(xC.black).xterm(xC.green).bold(' OK! ') + ' ',
successPrefix: plugins.clc.bgXterm(xC.green)(' ') + plugins.clc.bgXterm(xC.black).xterm(xC.green).bold(' Success: ') + ' ',
warnPrefix: plugins.clc.bgYellow(' ') + plugins.clc.bgBlack.yellow.bold(' Warn: ') + ' '
}
2016-05-02 00:23:40 +00:00
2016-10-16 00:26:43 +00:00
export let logNode = function (logType: string, logText: string) {
2016-05-02 00:23:40 +00:00
try {
switch (logType) {
case 'dir':
2016-10-16 00:26:43 +00:00
logText = localBl.dirPrefix + plugins.clc.xterm(xC.blue)(logText)
break
2016-05-02 00:23:40 +00:00
case 'error':
2016-10-16 00:26:43 +00:00
logText = localBl.errorPrefix + plugins.clc.xterm(xC.red).bold(logText)
break
2016-05-02 00:23:40 +00:00
case 'info':
2016-10-16 00:26:43 +00:00
logText = localBl.infoPrefix + plugins.clc.xterm(198)(logText)
break
2016-05-02 00:23:40 +00:00
case 'normal':
2016-10-16 00:26:43 +00:00
logText = localBl.logPrefix + plugins.clc.xterm(xC.cyan).bold(logText)
break
2016-05-02 00:23:40 +00:00
case 'ok':
2016-10-16 00:26:43 +00:00
logText = localBl.okPrefix + plugins.clc.bold(logText)
break
2016-05-02 00:23:40 +00:00
case 'success':
2016-10-16 00:26:43 +00:00
logText = localBl.successPrefix + plugins.clc.xterm(xC.green).bold(logText)
break
2016-05-02 00:23:40 +00:00
case 'warn':
2016-10-16 00:26:43 +00:00
logText = localBl.warnPrefix + plugins.clc.bold(logText)
break
2016-05-02 00:23:40 +00:00
case 'log':
2016-10-16 00:26:43 +00:00
logText = localBl.logPrefix + plugins.clc.blue.bold(logText)
break
2016-05-02 00:23:40 +00:00
default:
2016-10-16 00:26:43 +00:00
plugins.clc.blue.bold(logText)
console.log(('unknown logType for "' + logText + '"'))
break
2016-05-02 00:23:40 +00:00
}
2016-10-16 00:26:43 +00:00
beautyConsole.log(logText)
return true
} catch (error) {
console.log(localBl.errorPrefix
+ 'You seem to have tried logging something strange' + error)
return false
2016-05-02 00:23:40 +00:00
}
}
2016-07-23 23:17:38 +00:00
let logBrowser = function (logText, logType) {
2016-05-02 00:23:40 +00:00
switch (logType) {
2016-07-23 23:17:38 +00:00
case 'dir':
2016-10-16 00:26:43 +00:00
logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText)
break
2016-07-23 23:17:38 +00:00
case 'error':
2016-10-16 00:26:43 +00:00
logText = localBl.errorPrefix + logText.red.bold
break
2016-07-23 23:17:38 +00:00
case 'info':
2016-10-16 00:26:43 +00:00
console.log('%c Info: %c ' + logText, 'background:#EC407A;color:#ffffff;', 'color:#EC407A;')
break
2016-07-23 23:17:38 +00:00
case 'normal':
2016-10-16 00:26:43 +00:00
logText = localBl.logPrefix + logText.cyan.bold
break
2016-07-23 23:17:38 +00:00
case 'ok':
2016-10-16 00:26:43 +00:00
console.log('%c OK: %c ' + logText, 'background:#000000;color:#8BC34A;', 'color:#000000;')
break
2016-07-23 23:17:38 +00:00
case 'success':
2016-10-16 00:26:43 +00:00
console.log('%c Success: %c ' + logText, 'background:#8BC34A;color:#ffffff;', 'color:#8BC34A;')
break
2016-07-23 23:17:38 +00:00
case 'warn':
2016-10-16 00:26:43 +00:00
console.log('%c Warn: %c ' + logText, 'background:#000000;color:#FB8C00;', 'color:#000000;')
break
2016-07-23 23:17:38 +00:00
case 'log':
2016-10-16 00:26:43 +00:00
console.log('%c Log: %c ' + logText, 'background:#42A5F5;color:#ffffff', 'color:#42A5F5;')
break
2016-07-23 23:17:38 +00:00
default:
2016-10-16 00:26:43 +00:00
console.log('unknown logType for "' + logText + '"')
break
2016-07-23 23:17:38 +00:00
}
2017-01-21 00:05:28 +00:00
}