Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gashcrumb committed Oct 28, 2013
1 parent a5881a3 commit 0f2e7f9
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 143 deletions.
139 changes: 139 additions & 0 deletions hawtio-web/src/main/webapp/app/core/js/loggingInit.js
@@ -0,0 +1,139 @@

Logger.setLevel(Logger.INFO);
// we'll default to 100 statements I guess...
// TODO - make configurable...
window['LogBuffer'] = 100;

if ('localStorage' in window) {
if ('logLevel' in window.localStorage) {
var logLevel = JSON.parse(window.localStorage['logLevel']);
// console.log("Using log level: ", logLevel);
Logger.setLevel(logLevel);
}

if ('showLog' in window.localStorage) {
var showLog = window.localStorage['showLog'];
// console.log("showLog: ", showLog);
if (showLog === 'true') {
var container = document.getElementById("log-panel");
container.setAttribute("style", "bottom: 50%;");
}
}

if ('logBuffer' in window.localStorage) {
var logBuffer = window.localStorage['logBuffer'];
window['LogBuffer'] = parseInt(logBuffer);
} else {
window.localStorage['logBuffer'] = window['LogBuffer'];
}
}

var consoleLogger = null;

if ('console' in window) {

var MyConsole = window.console;
consoleLogger = function(messages, context) {
var hdlr = MyConsole.log;

// Prepend the logger's name to the log message for easy identification.
if (context.name) {
messages[0] = "[" + context.name + "] " + messages[0];
}

// Delegate through to custom warn/error loggers if present on the console.
if (context.level === Logger.WARN && MyConsole.warn) {
hdlr = MyConsole.warn;
} else if (context.level === Logger.ERROR && MyConsole.error) {
hdlr = MyConsole.error;
} else if (context.level === Logger.INFO && MyConsole.info) {
hdlr = MyConsole.info;
}

hdlr.apply(MyConsole, messages);
};
}

var isArrayOrObject = function(o) {
return (!!o) && (o.constructor === Array || o.constructor === Object);
};

window['logInterceptors'] = [];

Logger.setHandler(function(messages, context) {
// MyConsole.log("context: ", context);
// MyConsole.log("messages: ", messages);
var container = document.getElementById("log-panel");
var panel = document.getElementById("log-panel-statements");

var node = document.createElement("li");

var text = ""

for (var i = 0; i < messages.length; i++) {
var message = messages[i];
if (isArrayOrObject(message)) {

var obj = "" ;
try {
obj = '<pre data-language="javascript">' + JSON.stringify(message, null, 2) + '</pre>';
} catch (error) {
obj = message + " (failed to convert) ";
// silently ignore, could be a circular object...
}
text = text + obj;
} else {
text = text + message;
}
}

if (context.name) {
text = '[<span class="green">' + context.name + '</span>] ' + text;
}

node.innerHTML = text;
node.className = context.level.name;

var scroll = false;
if (container.scrollHeight = 0) {
scroll = true;
}

if (panel.scrollTop > (panel.scrollHeight - container.scrollHeight - 200)) {
scroll = true;
}

Rainbow.color(node, function() {
panel.appendChild(node);
if (scroll) {
panel.scrollTop = panel.scrollHeight;
}
if (panel.childNodes.length > parseInt(window['LogBuffer'])) {
panel.firstChild.remove();
}
if (consoleLogger) {
consoleLogger(messages, context);
}
var interceptors = window['logInterceptors'];

for (var i = 0; i < interceptors.length; i++) {
interceptors[i](context.level.name, text);
}
});

});

// Catch uncaught exceptions and stuff so we can log them
window.onerror = function(msg, url, line) {
Logger.error(msg, " (url:", url, ", line:", line, ")");
// supress error alert
return true;
}

// sneaky hack to redirect console.log !
window.console = {
log: Logger.debug,
warn: Logger.warn,
error: Logger.error,
info: Logger.info
};
143 changes: 1 addition & 142 deletions hawtio-web/src/main/webapp/index.html
Expand Up @@ -240,148 +240,7 @@ <h2 title="Status Code: {{connectFailure.status}}">Cannot Connect: {{connectFail
<script type="text/javascript" src="lib/logger.min.js"></script>
<script type="text/javascript" src="lib/json2-min.js"></script>

<script type="text/javascript">

Logger.setLevel(Logger.INFO);
// we'll default to 100 statements I guess...
// TODO - make configurable...
window['LogBuffer'] = 100;

if ('localStorage' in window) {
if ('logLevel' in window.localStorage) {
var logLevel = JSON.parse(window.localStorage['logLevel']);
// console.log("Using log level: ", logLevel);
Logger.setLevel(logLevel);
}

if ('showLog' in window.localStorage) {
var showLog = window.localStorage['showLog'];
// console.log("showLog: ", showLog);
if (showLog === 'true') {
var container = document.getElementById("log-panel");
container.setAttribute("style", "bottom: 50%;");
}
}

if ('logBuffer' in window.localStorage) {
var logBuffer = window.localStorage['logBuffer'];
window['LogBuffer'] = parseInt(logBuffer);
} else {
window.localStorage['logBuffer'] = window['LogBuffer'];
}
}

var consoleLogger = null;

if ('console' in window) {

var MyConsole = window.console;
consoleLogger = function(messages, context) {
var hdlr = MyConsole.log;

// Prepend the logger's name to the log message for easy identification.
if (context.name) {
messages[0] = "[" + context.name + "] " + messages[0];
}

// Delegate through to custom warn/error loggers if present on the console.
if (context.level === Logger.WARN && MyConsole.warn) {
hdlr = MyConsole.warn;
} else if (context.level === Logger.ERROR && MyConsole.error) {
hdlr = MyConsole.error;
} else if (context.level === Logger.INFO && MyConsole.info) {
hdlr = MyConsole.info;
}

hdlr.apply(MyConsole, messages);
};
}

var isArrayOrObject = function(o) {
return (!!o) && (o.constructor === Array || o.constructor === Object);
};

window['logInterceptors'] = [];

Logger.setHandler(function(messages, context) {
// MyConsole.log("context: ", context);
// MyConsole.log("messages: ", messages);
var container = document.getElementById("log-panel");
var panel = document.getElementById("log-panel-statements");

var node = document.createElement("li");

var text = ""

for (var i = 0; i < messages.length; i++) {
var message = messages[i];
if (isArrayOrObject(message)) {

var obj = "" ;
try {
obj = '<pre data-language="javascript">' + JSON.stringify(message, null, 2) + '</pre>';
} catch (error) {
obj = message + " (failed to convert) ";
// silently ignore, could be a circular object...
}
text = text + obj;
} else {
text = text + message;
}
}

if (context.name) {
text = '[<span class="green">' + context.name + '</span>] ' + text;
}

node.innerHTML = text;
node.className = context.level.name;

var scroll = false;
if (container.scrollHeight = 0) {
scroll = true;
}

if (panel.scrollTop > (panel.scrollHeight - container.scrollHeight - 200)) {
scroll = true;
}

Rainbow.color(node, function() {
panel.appendChild(node);
if (scroll) {
panel.scrollTop = panel.scrollHeight;
}
if (panel.childNodes.length > parseInt(window['LogBuffer'])) {
panel.firstChild.remove();
}
if (consoleLogger) {
consoleLogger(messages, context);
}
var interceptors = window['logInterceptors'];

for (var i = 0; i < interceptors.length; i++) {
interceptors[i](context.level.name, text);
}
});

});

// Catch uncaught exceptions and stuff so we can log them
window.onerror = function(msg, url, line) {
Logger.error(msg, " (url:", url, ", line:", line, ")");
// supress error alert
return true;
}

// sneaky hack to redirect console.log !
window.console = {
log: Logger.debug,
warn: Logger.warn,
error: Logger.error,
info: Logger.info
};
</script>

<script type="text/javascript" src="app/core/js/loggingInit.js"></script>

<!-- Now load and set up the plugin loader -->
<script type="text/javascript" src="app/core/js/hawtio-plugin-loader.js"></script>
Expand Down
14 changes: 13 additions & 1 deletion hawtio-web/src/test/specs/SpecRunner.html
Expand Up @@ -15,6 +15,19 @@
<script type="text/javascript" src="http://localhost:35729/livereload.js?snipver=1"></script>

<!-- include source files here... -->

<script type="text/javascript" src="../../main/webapp/lib/rainbow.js"></script>
<script type="text/javascript" src="../../main/webapp/lib/language/javascript.js"></script>
<script type="text/javascript" src="../../main/webapp/lib/language/generic.js"></script>
<script type="text/javascript" src="../../main/webapp/lib/logger.min.js"></script>
<script type="text/javascript" src="../../main/webapp/lib/json2-min.js"></script>

<script type="text/javascript" src="../../main/webapp/app/core/js/loggingInit.js"></script>

<script type="text/javascript" src="../../main/webapp/app/core/js/hawtio-plugin-loader.js"></script>



<script type="text/javascript" src="../../main/webapp/lib/d3.v3.min.js"></script>

<script type="text/javascript" src="../../main/webapp/lib/jquery-1.8.2.min.js"></script>
Expand Down Expand Up @@ -89,7 +102,6 @@
<!-- helper libraries -->
<script type="text/javascript" src="../../main/webapp/lib/sugar-1.3.6-custom.min.js"></script>

<script type="text/javascript" src="../../main/webapp/app/core/js/hawtio-plugin-loader.js"></script>

<script type="text/javascript" src="../../../target/hawtio-web-1.2-SNAPSHOT/app/app.js"></script>

Expand Down

0 comments on commit 0f2e7f9

Please sign in to comment.