Logs aufbohren
Logs aufbohren
Hi!
mal eine Frage:
Gibt es irgendwie die Möglichkeit das Log-Buch etwas ausführlicher zu gesicht zu bekommen?
Beispiel:
- Wird ein Benutzer gelöscht, sehe ich nicht wer gelöscht wurde.
- Wird Mehrfachlöschung benutzt, sehe ich nicht was alles gelöscht wurde
- Wird Kategorie On- oder offline setzen gedrückt, sehe ich nicht welche
- ...
Gruß
Matthias
mal eine Frage:
Gibt es irgendwie die Möglichkeit das Log-Buch etwas ausführlicher zu gesicht zu bekommen?
Beispiel:
- Wird ein Benutzer gelöscht, sehe ich nicht wer gelöscht wurde.
- Wird Mehrfachlöschung benutzt, sehe ich nicht was alles gelöscht wurde
- Wird Kategorie On- oder offline setzen gedrückt, sehe ich nicht welche
- ...
Gruß
Matthias
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Logs aufbohren
Hallo Matthias,
das Benutzer-Log von Contenido ist/war eigentlich primär einmal zur redaktionellen Verfolgbarkeit von Änderungen im Artikelbereich gedacht. Daher ist es hauptsächlich auch auf das Loggen von Artikel-bezogenen Tätigkeiten ausgelegt. Man findet entsprechendes in der Klasse Backend und deren Methode "log"
Das Eintragen selbst wird nur an ein paar Stellen im Core angestossen, so beispielsweise in der Datei main.php (Zeilen 177-185) und dort auch nur dann, wenn eine 'action' vorhanden ist. Schaut man sich die Umsetzung an, so ist es eigentlich kein reines Benutzer-Log sondern wie gesagt eher ein Redakteurs-Log.
Sicherlich könnte man das noch etwas aufbohren indem man in der Methode die eine oder andere Info abhängig von der Aktion zum Eintrag hinzufügt.
Gruß aus Franken
Ortwin
das Benutzer-Log von Contenido ist/war eigentlich primär einmal zur redaktionellen Verfolgbarkeit von Änderungen im Artikelbereich gedacht. Daher ist es hauptsächlich auch auf das Loggen von Artikel-bezogenen Tätigkeiten ausgelegt. Man findet entsprechendes in der Klasse Backend und deren Methode "log"
Das Eintragen selbst wird nur an ein paar Stellen im Core angestossen, so beispielsweise in der Datei main.php (Zeilen 177-185) und dort auch nur dann, wenn eine 'action' vorhanden ist. Schaut man sich die Umsetzung an, so ist es eigentlich kein reines Benutzer-Log sondern wie gesagt eher ein Redakteurs-Log.
Sicherlich könnte man das noch etwas aufbohren indem man in der Methode die eine oder andere Info abhängig von der Aktion zum Eintrag hinzufügt.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Logs aufbohren
Hallo!
Ich schubs das Thema noch mal an.
Durch die Umstellung vieler Kunden von PHP 5.x auf PHP7 gibt es einige Logbücher die sich derzeit zumüllen mit Fehlermeldung. Ich verstehe die Fehleremeldungen, keine Frage, aber wo bitte in einem Contenido, mit vielen Mandaten, befindet sich der Fehler. Hier mal ein Eintrag aus dem Logbuch:
Meine Frage:
Besteht für die Zukunft die Möglichkeit, das Logen um die ClientID zu erweiteren bzw. wo kann ich das fürs erste selbst machen?
Wäre für eine Lösung sehr dankbar.
Gruß
Matthias
Ich schubs das Thema noch mal an.
Durch die Umstellung vieler Kunden von PHP 5.x auf PHP7 gibt es einige Logbücher die sich derzeit zumüllen mit Fehlermeldung. Ich verstehe die Fehleremeldungen, keine Frage, aber wo bitte in einem Contenido, mit vielen Mandaten, befindet sich der Fehler. Hier mal ein Eintrag aus dem Logbuch:
Ich kann anhand der Meldung weder den Clienten noch das Modul identifizieren.[09-May-2017 09:25:13 Europe/Berlin] PHP Warning: Illegal offset type in /home/.../contenido/includes/frontend/include.front_content.php(754) : eval()'d code on line 169
Meine Frage:
Besteht für die Zukunft die Möglichkeit, das Logen um die ClientID zu erweiteren bzw. wo kann ich das fürs erste selbst machen?
Wäre für eine Lösung sehr dankbar.
Gruß
Matthias
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Logs aufbohren
Du findest alle Log-relevanten Dateien im Ordner contenido/classes/log und im Speziellen die class.log.php. Obenstehende Fehlermeldung deutet auf einen Modul-Fehler hin
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Logs aufbohren
Hallo Frederic!
Frage ist aber, bei welchem Client das Problem auftritt? Das ist leider nicht ersichtlich.
Gruß
Matthias
Das es ein Modulproblem ist, ist mir klar.frederic.schneider_4fb hat geschrieben: ↑Do 18. Mai 2017, 08:13Obenstehende Fehlermeldung deutet auf einen Modul-Fehler hin
Frage ist aber, bei welchem Client das Problem auftritt? Das ist leider nicht ersichtlich.
Gruß
Matthias
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Logs aufbohren
Das kannst Du, wie erwähnt, in der Log-Klasse ergänzen. Standardmäßig haben wir diese Information nicht im System. Wir debuggen allerdings auch genauso, indem wir ausprobieren, bei welchem Seitenaufruf unter welcher Konstellation ein solcher Fehler in die Log geschrieben wird
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Logs aufbohren
Das Debuggen ist aber extrem schwierig bei mehreren Clienten.frederic.schneider_4fb hat geschrieben: ↑Do 18. Mai 2017, 08:22Wir debuggen allerdings auch genauso, indem wir ausprobieren, bei welchem Seitenaufruf unter welcher Konstellation ein solcher Fehler in die Log geschrieben wird
Es wäre doch bestimmt eine Kleinigkeit für euch, standardmäßig im Log, die Client-ID mitzuloggen.
Gruß
Matthias
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Logs aufbohren
Ich muss mich auch korrigieren:
In Deinem Fall hilft es nichts, die Dateien im "logs"-Ordner zu manipulieren. CONTENIDO "leitet" bei solchen PHP-Fehlern lediglich die normale PHP-Fehlerausgabe in die errorlog.txt um - nicht mehr, nicht weniger. Daher ist es auch nicht möglich, ohne größere Umbauarbeiten, die Client-Id mit auszugeben
In Deinem Fall hilft es nichts, die Dateien im "logs"-Ordner zu manipulieren. CONTENIDO "leitet" bei solchen PHP-Fehlern lediglich die normale PHP-Fehlerausgabe in die errorlog.txt um - nicht mehr, nicht weniger. Daher ist es auch nicht möglich, ohne größere Umbauarbeiten, die Client-Id mit auszugeben
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
Re: Logs aufbohren
Hallo!
Ich würde mir das mal genauer anschauen. Was ich bisher gefunden habe war leider nicht aufschlussreich.
Gruss
Matthias
Wo genau, in welcher Datei, wird der PHP Fehler denn geschrieben?frederic.schneider_4fb hat geschrieben: ↑Do 18. Mai 2017, 10:35Ich muss mich auch korrigieren:
In Deinem Fall hilft es nichts, die Dateien im "logs"-Ordner zu manipulieren. CONTENIDO "leitet" bei solchen PHP-Fehlern lediglich die normale PHP-Fehlerausgabe in die errorlog.txt um - nicht mehr, nicht weniger. Daher ist es auch nicht möglich, ohne größere Umbauarbeiten, die Client-Id mit auszugeben
Ich würde mir das mal genauer anschauen. Was ich bisher gefunden habe war leider nicht aufschlussreich.
Gruss
Matthias
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Logs aufbohren
Lieber Matthias,
diese PHP-Fehlermeldungen werden in keiner spezifischen Datei von CONTENIDO geschrieben. Wie ich schrieb:
CONTENIDO sorgt lediglich dafür, dass diese PHP-Fehlermeldungen nicht in Deinem Browser ausgegeben, sondern in die errorlog.txt geschrieben werden. CONTENIDO nimmt keinerlei Einfluss auf die Art, Form oder den Inhalt dieser Fehlermeldungen. Eben deshalb ist es auch nicht mit einem Fingerstreich getan, eine Client-Id anzuhängen. PHP-Fehlermeldungen können in jeder PHP-Datei auftreten.
diese PHP-Fehlermeldungen werden in keiner spezifischen Datei von CONTENIDO geschrieben. Wie ich schrieb:
CONTENIDO sorgt lediglich dafür, dass diese PHP-Fehlermeldungen nicht in Deinem Browser ausgegeben, sondern in die errorlog.txt geschrieben werden. CONTENIDO nimmt keinerlei Einfluss auf die Art, Form oder den Inhalt dieser Fehlermeldungen. Eben deshalb ist es auch nicht mit einem Fingerstreich getan, eine Client-Id anzuhängen. PHP-Fehlermeldungen können in jeder PHP-Datei auftreten.
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Logs aufbohren
Servus,
es gibt eine Möglichkeit die von Matthias gewünschten Änderungen zu machen. PHP bietet die Möglichkeit die interne Fehlerroutine durch eine eigene Routine zu ersetzen. Dieses ist zwar auch dann nur eingeschränkt möglich, aber zumindest kann man für einige PHP-Fehler eine eigen Fehlerbehandlung machen. Auch kann man in der eigenen Routine den von PHP bereits erkannten Fehler abfragen und dann entsprechend verfahren.
Weitere Infos zum Thema findet man auf php.net http://php.net/manual/de/function.set-error-handler.php
Gruß aus Franken
Ortwin
es gibt eine Möglichkeit die von Matthias gewünschten Änderungen zu machen. PHP bietet die Möglichkeit die interne Fehlerroutine durch eine eigene Routine zu ersetzen. Dieses ist zwar auch dann nur eingeschränkt möglich, aber zumindest kann man für einige PHP-Fehler eine eigen Fehlerbehandlung machen. Auch kann man in der eigenen Routine den von PHP bereits erkannten Fehler abfragen und dann entsprechend verfahren.
Weitere Infos zum Thema findet man auf php.net http://php.net/manual/de/function.set-error-handler.php
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Logs aufbohren
Hallo @all!
Ist zwar schon ein Weilchen her aber ich habe jetzt eine not Lösung gefunden.
Zumindest wird jetzt pro Mandant ein Errorlog geschrieben und nicht mehr alles in eines.
In der Datei ROOT/data/config/.../config.misc.php folgende Änderungen vornehmen:
Suche:
Ersetzen:
Suche:
Ersetzen:
'errorlog-1.txt': Die 1 ist die ClientID des Mandanten. In meinem Beispiel sind zwei Mandanten 1 und 2 vorhanden. Habt Ihr mehr, müsst ihr entsprechend mehr werte eintragen.
Im ganzen ist es keine schöne Losung aber um den Übeltäter zu finden, der das Errorlog explordieren läßt, reicht es alle mal.
Vielleicht lässt sich daraus ja mehr bauen.
Gruß
Matthias
Ist zwar schon ein Weilchen her aber ich habe jetzt eine not Lösung gefunden.
Zumindest wird jetzt pro Mandant ein Errorlog geschrieben und nicht mehr alles in eines.
In der Datei ROOT/data/config/.../config.misc.php folgende Änderungen vornehmen:
Suche:
Code: Alles auswählen
$cfg['php_settings']['error_log'] = $cfg['path']['contenido_logs'] . 'errorlog.txt';
Code: Alles auswählen
$cfg['php_settings']['error_log'] = $cfg['path']['contenido_logs'] . 'errorlog-' . cRegistry::getClientId() . '.txt';
Code: Alles auswählen
$cfg['system_log']['allowed_filenames'] = array('deprecatedlog.txt', 'errorlog.txt', 'exception.txt', 'security.txt', 'setuplog.txt');
Code: Alles auswählen
$cfg['system_log']['allowed_filenames'] = array('deprecatedlog.txt', 'errorlog.txt', 'errorlog-1.txt', 'errorlog-2.txt', 'exception.txt', 'security.txt', 'setuplog.txt');
Im ganzen ist es keine schöne Losung aber um den Übeltäter zu finden, der das Errorlog explordieren läßt, reicht es alle mal.
Vielleicht lässt sich daraus ja mehr bauen.
Gruß
Matthias
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Logs aufbohren
Servus Matthias,
schön, das Du eine Lösung gefunden hast. Ich würde nur vorschlagen es in einer lokalen Konfigurationsdatei (config.local.php) zu machen. Diese würde beim Update nicht überschrieben, und sollte genauso funktionieren.
Gruß aus Franken
Ortwin
schön, das Du eine Lösung gefunden hast. Ich würde nur vorschlagen es in einer lokalen Konfigurationsdatei (config.local.php) zu machen. Diese würde beim Update nicht überschrieben, und sollte genauso funktionieren.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Logs aufbohren
Hallo Ortwin,
Gruß
Matthias
Hat auch lange genug gedauert.
Wie schon geschrieben, es ist keine schöne Lösung. Erstmal nur als Behelf. Was in Zukunft daraus entsteht, mal schauen.
Gruß
Matthias
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Logs aufbohren
Klar, man wird sehen, zumindest habe ich es bei meiner CL mal notiert, wobei die sowieso ein errorlog im Mandanten selbst bekommt, und einen entsprechenden Backendbereich, so in der Art wie mein Plugin phpBO Client Log für die 4.9 viewtopic.php?f=99&t=35462
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog