mba*_*sam 10 html5 logging websocket
我正在寻找相当于使用html5或javascript在浏览器中运行的"tail -f".
解决方案需要使用HTML5/websockets/javascript和后端服务器端应用程序编写的客户端代码.我在c#中寻找一个,但我愿意从php或python重写它.
这是我见过的唯一接近的东西
http://commavee.com/2007/04/13/ajax-logfile-tailer-viewer/
但是,现代浏览器具有WebSockets,这使问题更加简单.
http://www.websocket.org/echo.html
理想情况下,我想拥有BareTail的一些功能
http://www.baremetalsoft.com/baretail/
如颜色编码行,排序和多文件标签.
我找到了一个类似的帖子,有人正在寻找基于Windows的日志文件程序
有人有什么建议吗?
它与 tail 不完全一样,但https://log4sure.com的实时日志功能确实允许您实时监控客户端日志。您必须像处理尾随一样适当地设置和执行日志,但您可以查看所有日志,其中包含有关您的客户端、示例浏览器、操作系统、国家/地区等的额外信息。您还可以创建自己的自定义日志来记录内容。查看网站上的演示以获得更好的想法。
设置代码非常简单,而且最好的部分是它是免费的。
// set up
var _logServer;
(function() {
var ls = document.createElement('script');
ls.type = 'text/javascript';
ls.async = true;
ls.src = 'https://log4sure.com/ScriptsExt/log4sure-0.1.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ls, s);
ls.onload = function() {
// use your token here.
_logServer = new LogServer("use-your-token-here");
};
})();
// example for logging text
_logServer.logText("your log message goes here.")
// example for logging error
divide = function(numerator, divisor) {
try {
if (parseFloat(value) && parseFloat(divisor)) {
throw new TypeError("Invalid input", "myfile.js", 12, {
value: value,
divisor: divisor
});
} else {
if (divisor == 0) {
throw new RangeError("Divide by 0", "myfile.js", 15, {
value: value,
divisor: divisor
});
}
}
} catch (e) {
_logServer.logError(e.name, e.message, e.stack);
}
}
// another use of logError in window.onerror
// must be careful with window.onerror as you might be overwriting some one else's window.onerror functionality
// also someone else can overwrite window.onerror.
window.onerror = function(msg, url, line, column, err) {
// may want to check if url belongs to your javascript file
var data = {
url: url,
line: line,
column: column,
}
_logServer.logError(err.name, err.message, err.stack, data);
};
//example for custom logs
var foo = "some variable value";
var bar = "another variable value";
var flag = "false";
var temp = "yet another variable value";
_logServer.log(foo, bar, flag, temp);Run Code Online (Sandbox Code Playgroud)