如何在服务器控制台上打印前端日志消息?
有没有办法从前端将日志消息打印到服务器控制台?如何在服务器控制台上打印前端日志消息?
例如,如果我的GUI HTML页面正在JBOSS服务器上运行。我想将日志写入服务器控制台,即在JBOSS服务器上生成的“SERVER.log”文件。 (就像Sysout()打印简单的调试消息一样)。
您可以覆盖默认的console.log
API或使用其他方法;
var logHandler = {
send: function(args) {
$.post("URL", {
messages: arguments
});
}
}
window.defaultConsoleLog = console.log;
console.log = function() {
logHandler.send(arguments)
defaultConsoleLog.call(this, arguments);
}
未测试代码
我建议没有覆盖浏览器的默认行为,而是有一个 “代理”
var logger = function() {
logHandler.send(arguments);
console.log.call(this, arguments)
}
然后用logger("Test")
代替console.log("Test")
你能更清楚吗ar在“服务器控制台”部分和您的具体要求?
如果你只需要捕获服务器上的活动,我建议你看看log4javascript。
这应该是一个评论,而不是回答 – hindmost 2015-03-31 09:39:53
有没有办法打印日志消息到服务器前台控制台? 例如,如果我的GUI HTML页面在JBOSS服务器上运行,我想写日志到服务器控制台,即在JBOSS服务器上生成的“SERVER.log”文件(就像Sysout )用于打印简单的调试消息。) – 2015-03-31 10:56:39
你是什么意思的“服务器控制台”? – hindmost 2015-03-31 09:25:56
'console.log = function(message){$ .post(“/ api/logs”,{message:message}}' – TryingToImprove 2015-03-31 09:26:37