2012-07-27 7 views
9

Ich bin auf der Suche nach dem Äquivalent von "Tail-F", die in einem Browser mit HTML5 oder Javascript ausgeführt wird.HTML5/websockets/JavaScript-basierte Echtzeit-Logfile Viewer?

Eine Lösung würde einen clientseitigen Code benötigen, der in HTML5/websockets/javascript geschrieben ist, und eine Back-End-serverseitige Anwendung. Ich suche nach einem in C#, aber ich bin bereit, es von PHP oder Python umzuschreiben.

Das ist das einzige, was ich gesehen habe, dass in der Nähe kommt, ist

http://commavee.com/2007/04/13/ajax-logfile-tailer-viewer/

jedoch moderne Browser WebSockets haben, das das Problem macht viel einfacher.

http://www.websocket.org/echo.html

Im Idealfall würde Ich mag einige der Fähigkeiten von BareTail haben

http://www.baremetalsoft.com/baretail/

wie Farbcodierung von Linien, Sortieren und Multi-Datei-Tabbing.

Ich habe einen ähnlichen Eintrag befindet, wo jemand

https://stackoverflow.com/questions/113121/best-tail-log-file-visualization-freeware-tool

Wer noch keine Vorschläge basierte Protokolldatei Programme für Windows suchen?

+0

Eine nette Beschreibung auf HTML5 Websockets gefunden. (http://refcardz.dzone.com/refcardz/html5-websocket). Sie haben eine Liste aller Websocket Server-Implementierungen. Für C# (http://superwebsocket.codeplex.com) sieht am besten aus. – mbalsam

+0

Dieser Artikel (http: // stackoverflow.com/questions/9296466/options-für-echtzeit-web-benachrichtigungen-und-updates-using-comet-xmpp-vs-websocke) gibt auch ein paar andere Meinungen für Websocket-Server. Aber meine App hat nicht alle Leistungsaspekte, die diese App-Builder haben müssen. – mbalsam

+0

Auf der Client-Seite möchte ich so etwas (http://dhtmlx.com/docs/products/dhtmlxGrid/) – mbalsam

Antwort

1

Es ist nicht genau wie Schwanz, aber die Live-Log-Funktion von https://log4sure.com können Sie Ihre Client-Seiten-Protokolle in Echtzeit zu überwachen. Sie müssten die Protokolle entsprechend einrichten und ausführen, wie Sie es für Tailing tun würden. Sie können jedoch alle Protokolle mit zusätzlichen Informationen zu Ihrem Client, Beispielbrowser, Betriebssystem, Land usw. anzeigen. Sie können auch eigene benutzerdefinierte Protokolle zum Protokollieren erstellen . Überprüfen Sie die Demo auf der Website, um eine bessere Idee zu erhalten.

Der Setup-Code ist wirklich einfach, und der beste Teil ist, es ist kostenlos.

// 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);

1

Während ich es wünschte, hatte bessere JSON-Objekt prettification für Live-Tailing und historische Protokolle, die folgenden JS-Client arbeitet und unterstützt Ihre serverseitige Anforderung auch:

https://github.com/logentries/le_js/wiki/API

<html lang="en"> 
    <head> 
    <title>Your page</title> 
    <script src="/js/le.min.js"></script> 
    <script> 
    // Set up le.js 
    LE.init('YOUR-LOG-TOKEN'); 
    </script> 
</head> 

.....

<script> 
// log something 
LE.log("Hello, logger!"); 
</script> 

persönlich der obige Code zu bekommen jedoch zu arbeiten, ich habe die folgende Codezeile direkt über LE.init('YOUR-LOG-TOKEN') hinzuzufügen habe:

window.LEENDPOINT = 'js.logentries.com/v1' 

.. Alternativ kann Loggly auch ein Sitz sein: https://www.loggly.com/docs/javascript/