nachdem ich mich lange vor der Installation der IPSLibrary gedrückt habe, habe ich gestern nun alles erfolgreich in Betrieb nehmen können. Vielen Dank für dieses geniale Konstrukt!
Ist es geplant, das Logging in eine mySQL-Datenbank zu ermöglichen?
bis jetzt noch nicht, wenn Du aber ein Example zur Verfügung stellst, wie man eine MySQL Tabelle beschreibt und was man benötigt, dann kann ich ja vielleicht was realisieren.
Folgende Felder würde man wohl im Minimum benötigen:
Auch ich waere fuer eine MySql Anbindung.
Kann auch dafuer etwas beitragen. Hab in meinem PlugwiseModul eine automatische
Datenbankerstellung und Tabellenerstellung.
Eintrag von den Zugangsdaten in der Konfig reicht.
Fuer den Logger braeuchte ich wirklich nicht viel umschreiben.
es gibt eine erste Version des Loggers mit MySQL Anbindung - Besten Dank an dieser Stelle an 1007, der den Hauptteil der Arbeit erledigt hat.
Zu finden ist der neue Logger vorerst mal auf meinem NewFeatures Repository
–> also Update mittels IPSModuleManager:
IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager('IPSLogger', 'https://raw.github.com/brownson/IPSLibrary/NewFeatures');
$moduleManager->UpdateModule();
Folgende Konfigurations Parameter sind nötig (muss man manuell in Config File hinzufügen, wenn der Logger bereits installiert ist:
/** Konfigurations Parameter für MySQL Output
*
* Über diesen Parameter wird gesteuert, ob die Meldungen auch auf den MySQL Output geschrieben werden soll.
*
* Parameter kann jederzeit geändert werden.
*/
define ("c_DB_MySQL_Enabled", false);
/** Konfigurations Parameter für MySQL
*
* Über diesen Parameter wird gesteuert, welche Meldungen auf den MySQL Output geschrieben werden
*
* Parameter kann jederzeit geändert werden.
*/
$DB_MySQL_LogTypes = array(true/*Fat*/, true/*Err*/, true/*Wrn*/, true/*Not*/, true/*Inf*/, true/*Log*/, true/*Dbg*/, true/*Trc*/, false/*Tst*/);
/** Konfigurations Parameter für MySQL Output
*
* Serveradresse
* Port
* Database
* Tabellenname
* User
* Password
*
* Parameter koennen jederzeit geändert werden.
*/
define ("c_DB_MySQL_Server", "192.168.1.1" );
define ("c_DB_MySQL_Port", "3306" );
define ("c_DB_MySQL_Database", "IPSLogger" );
define ("c_DB_MySQL_Table", "tbl_IPSLog" );
define ("c_DB_MySQL_User", "xxxxxx" );
define ("c_DB_MySQL_Password", "xxxxxx" );
Analog zur Integration von SysLog wird das Ganze auch hier rein über die Konfigurations Parameter gesteuert (also keine Integration der Einstellungen im WebFront).
Mit dem Parameter c_DB_MySQL_Enabled kann man den Output ein- bzw. ausschalten. Mit $DB_MySQL_LogTypes kann man steuern welche LogTypen aktiviert sind.
Der Rest ist für die DB Anbindung.
Hallo zusammen,
danke für die MySQL Anbindung des Loggers. Komme gerade nicht dazu das einzurichten und zu testen. Melde mich wieder mit den Ergebnissen.
Ich vermute mal, Du hast jede Menge Fehler im System und möchtest diese nicht immer angezeigt bekommen oder?
Was sind das für Fehler, wieso kannst Du sie nicht „abfangen“?
das trifft den Nagel auf den Kopf … da ich jeeede Menge www Reader und Textparser am laufen habe kommts hier vermutlich von Netzwerkproblemen ( bzw. kein Problem sondern 24 Stunden Disconnect und Refresh DynDns. ).
Dazu muss man wissen ich lese eine GLT über einen VPN Tunnel aus, da kanns natürlich mal zu Disconnects kommen.
Da ich aber den Logger und die Anzeige nutzen will Störungen anzuzeigen ist es natürlich unschön wenn da ein paar Hundert Meldungen wegen dem www Reader drinnen sind.
Da ich das alles allerdings über Instanzen ( www Reader Instanz mit Ereignis alle 2 Min Update Page + Text Parser ) betreibe sehe ich da wenig Optionen das Log sauber zu halten oder ?
ich verwende zwar die IPSLibrary nicht, aber den IPLogger sehr wohl :D. Könnte gar nicht mehr ohne auskommen.
Aber bei meinen z.T. umfangreichen Ausgaben via _Dbg oder _Trc hatte ich immer wieder das Problem, das ich nicht einfach sehen konnte was alles dazu gehört, weil die Tabelle im WF ja ohne Zeilen- und Spaltenrahmen daherkommt.
Drum hab ich mir das mal angeguckt und kurzerhand eine kleine Änderung hinzugefügt, die eine ganz leichte Einfärbung beim hovern über der Zeile hinzufügt. Und damit das auch die Hinbekommen, die nicht so die CSS-Cracks sind hier die notwendigen Anpassungen:
In der Datei IPSLogger_Output.inc.php die Zeile 226 anpassen:
In der entsprechenden webfront.css folgenden Block irgendwo hinzufügen:
/* Klasse zur hervorhebung einer Tabellenzeile :hover, muss dem Tag <table> hinzugefügt werden */
.row-highlight tr:hover {
background-color: rgba(255, 255, 255, 0.1);
}
Jetzt das WebFront neu laden und schon werden die Tabellenzeilen mit einer leichten Aufhellung hinterlegt, wenn die Maus drüber steht…
PS: Diese Klasse kann natürlich auch bei jeder anderen Tabelle Verwendung finden.