octo-deno/lib/logging/console.js

94 lines
1.9 KiB
JavaScript
Raw Normal View History

2017-04-22 22:49:49 +00:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var websocket = null
2017-04-22 22:49:49 +00:00
var logger = (function () { // eslint-disable-line no-unused-vars
2017-05-02 14:17:36 +00:00
const sep = '\n/* ### NEXT TESTCASE ############################## */'
2017-05-02 14:26:49 +00:00
const color = {
red: '\u{1b}[1;31m',
green: '\u{1b}[1;32m',
clear: '\u{1b}[0m'
}
2017-04-25 17:59:34 +00:00
if (utils.platform.isWindows) {
2017-05-02 14:26:49 +00:00
color.red = ''
color.green = ''
color.clear = ''
2017-04-22 22:49:49 +00:00
}
function console (msg) {
2017-04-22 22:49:49 +00:00
if (websocket) {
websocket.send(msg)
2017-04-22 22:49:49 +00:00
}
2017-04-25 15:22:15 +00:00
if (typeof window === 'undefined') {
print(msg) // eslint-disable-line no-undef
2017-04-22 22:49:49 +00:00
} else if (window.dump) {
window.dump(msg)
2017-04-22 22:49:49 +00:00
} else if (window.console && window.console.log) {
window.console.log(msg)
2017-04-22 22:49:49 +00:00
} else {
throw new Error('Unable to run console logger.')
2017-04-22 22:49:49 +00:00
}
}
function dump (msg) {
console(msg)
2017-04-22 22:49:49 +00:00
}
2017-06-28 00:16:34 +00:00
function dumpln (msg) {
dump(msg + '\n')
}
function log (msg) {
2017-06-28 00:16:34 +00:00
dumpln('/*L*/ ' + utils.script.safely(msg))
}
2017-06-28 00:16:34 +00:00
function info (msg) {
dumpln('/*L*/ /* ' + msg + ' */')
2017-04-22 22:49:49 +00:00
}
function error (msg) {
dumpln(color.red + msg + color.clear)
2017-04-22 22:49:49 +00:00
}
function ok (msg) { // eslint-disable-line no-unused-vars
2017-06-10 06:35:35 +00:00
dumpln(color.green + msg + color.green)
}
function JSError (msg) {
error('/* ERROR: ' + msg + ' */')
2017-04-22 22:49:49 +00:00
}
function comment (msg) {
2017-07-07 15:24:09 +00:00
dumpln('/*L*/ // ' + msg)
2017-04-22 22:49:49 +00:00
}
function separator () {
dumpln(color.green + sep + color.clear)
2017-04-22 22:49:49 +00:00
}
function traceback () {
error('===[ Traceback ]')
2017-04-22 22:49:49 +00:00
try {
throw new Error()
2017-04-22 22:49:49 +00:00
} catch (e) {
dump(e.stack || e.stacktrace || '')
2017-04-22 22:49:49 +00:00
}
2017-06-10 04:09:20 +00:00
error('================')
2017-04-22 22:49:49 +00:00
}
return {
console: console,
dump: dump,
log: log,
2017-06-28 00:16:34 +00:00
info: info,
2017-04-22 22:49:49 +00:00
error: error,
JSError: JSError,
dumpln: dumpln,
comment: comment,
separator: separator,
traceback: traceback
}
})()