Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
09.07.2020, 07:31
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2020, 07:32 von Gerti.)
(09.07.2020, 06:08)Schnapsnase schrieb: ich glaube noch nicht, dass das die Ursache ist.
Die Datei wird ja am angegebenen Pfad gefunden. Die Anzeige im ACP ist korrekt, hat aber keinen Inhalt. Nachdem ich durch Eure Ausführungen auch im Adminverzeichniss den Ordner logs-error angelegt habe und mal Testweise auch eine mybb.log (mit Inhalt) rein kopierte, wird nun ergänzend zum Front-End auch Admin-End angezeigt. Beide jedoch ohne Inhalt. Also der Fehler bei Klick auf Admin-End ist somit mal weg, was bedeutet dass die Pfade gefunden werden. Nur erfolgt bei beiden Ends keine Anzeige des Dateiinhalts.
Nebenfrage an die Profis:
Durch das PugIn habe ich zum ersten mal davon Kenntnis erlangt, dass auch im Admin-Ordner eine Fehlerdatei abgelegt würde. Ich gehe mal davon aus, dass der Entwickler in seinem PlugIn das Admin-End nicht aus Langeweile eingebunden hat. Im ACP finde ich keine individuellen Einstellungen dazu. Kann da jemand mehr dazu einbringen?
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 2.251
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(09.07.2020, 07:31)Gerti schrieb: Ich gehe mal davon aus, dass der Entwickler in seinem PlugIn das Admin-End nicht aus Langeweile eingebunden hat. Im ACP finde ich keine individuellen Einstellungen dazu. Kann da jemand mehr dazu einbringen?
MyBB speichert die Logs unter dem Pfad, der im ACP hinterlegt ist.
Daher schrieb ich oben bereits, dass sich mir der Sinn in diesem Plugin nicht ganz erschließt.
Deine Frage würde mich also auch interessieren.
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
(09.07.2020, 07:44)Schnapsnase schrieb: Daher schrieb ich oben bereits, dass sich mir der Sinn in diesem Plugin nicht ganz erschließt.
Der Sinn des Plugins (ohne das ich mir die Beschreibung angesehen habe) ist für mich klar, denn:
a) nicht jeder Admin bekommt ggf. Zugriff auf FTP und soll trotzdem die Logs einsehen können
b) Gemütlichkeit
Beiträge: 2.251
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
09.07.2020, 09:45
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2020, 09:50 von Schnapsnase.)
Du hast mich nicht richtig verstanden.
Ich zweifle nicht den Sinn des Plugins an, sondern die unterschiedlichen Pfade zur Log-Datei.
Warum gibt es in diesem Plugin 2 Links mit unterschiedlichen Pfaden zur Log-Datei.
MyBB speichert nicht in 2 verschiedenen Pfaden. Somit erzeugt einer dieser Links immer einen Fehler, da die Datei nicht gefunden wird, oder ich lege im 2. Pfad eine leere Datei ab, damit keine Fehlermeldung entsteht.
Hier an dieser Stelle verstehe ich den Sinn nicht.
Das aber nur nebenbei, denn es ist nicht der Grund für das eigentliche Problem.
Beiträge: 1.712
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
(09.07.2020, 09:45)Schnapsnase schrieb: Das aber nur nebenbei, denn es ist nicht der Grund für das eigentliche Problem.
Nur mal so einen gedanklichen Einwurf eines Laien.
In der Datei ./admin/modules/tools/error_viewer.php wird (in den Zeilen 78 bis 105?) die Ausgabe definiert:
PHP-Code: $page->add_breadcrumb_item($lang->error_viewer_error_log, "index.php?module=tools-error_viewer"); $page->output_header($lang->error_viewer_error_log); $baseurl = "index.php?module=tools-error_viewer"; $table = new TABLE; $location = $mybb->get_input("location"); if($location == "admin") { if(file_exists(MYBB_ROOT . "/" . $config['admin_dir'] . "/" . $mybb->settings['errorloglocation'])) { $filecontents = file_get_contents(MYBB_ROOT . "/" . $config['admin_dir'] . "/" . $mybb->settings['errorloglocation']); } else { $page->output_error($lang->error_viewer_file_not_found); $page->output_footer(); } } else { if(file_exists(MYBB_ROOT . "/" . $mybb->settings['errorloglocation'])) { $filecontents = file_get_contents(MYBB_ROOT . "/" . $mybb->settings['errorloglocation']); $location = "user"; } else { $page->output_error($lang->error_viewer_file_not_found); $page->output_footer(); } }
$sub_tabs = array( "user" => array( "title" => $lang->error_viewer_front_end, "link" => $baseurl . "&location=user" ), "admin" => array( "title" => $lang->error_viewer_back_end, "link" => $baseurl . "&location=admin" ) );
$page->output_nav_tabs($sub_tabs);
$entries = explode("\n\n", $filecontents); $itemcount = count($entries); $last = $itemcount - 1; unset($entries[$last]); if($mybb->input['page']) { $current_page = $mybb->get_input("page", MyBB::INPUT_INT); } else { $current_page = 1; } if(!$current_page) { $current_page = 1; } $pages = ceil($last / 50); if($current_page > $pages) { $current_page = $pages; } $start = $current_page * 50 - 50; $pagination = draw_admin_pagination($current_page, 50, $last, "index.php?module=tools-error_viewer&location=" . $location);
/* Flip the array so the newest errors are shown first since that is usually what admins want. */ $entries = array_reverse($entries); $error_array = array_slice($entries, $start, 50);
echo $pagination;
$table->construct_header($lang->error_viewer_date); $table->construct_header($lang->error_viewer_time); $table->construct_header($lang->error_viewer_file); $table->construct_header($lang->error_viewer_line); $table->construct_header($lang->error_viewer_type); $table->construct_header($lang->error_viewer_message); $table->construct_row(); foreach($error_array as $entry) { $string = preg_replace("/\A<error>\n\t<dateline>([0-9]+)<\/dateline>\n\t<script>(.*)<\/script>\n\t<line>([0-9]+)<\/line>\n\t<type>([0-9]+)<\/type>" . "\n\t<friendly_type>(.*)<\/friendly_type>\n\t<message>(.*)<\/message>\n<\/error>(.*?)\Z/is", "$1--$2--$3--$4--$5--$6", $entry); $exstring = explode("--", $string); $date = my_date($mybb->settings['dateformat'], $exstring[0]); $time = my_date($mybb->settings['timeformat'], $exstring[0]); $filename = $exstring[1]; $line = $exstring[2]; $friendly_type = $exstring[4]; $message = nl2br($exstring[5]); $table->construct_cell($date); $table->construct_cell($time); $table->construct_cell($filename); $table->construct_cell($line); $table->construct_cell($friendly_type); $table->construct_cell($message); $table->construct_row(); } $table->output($lang->error_viewer_errors_warnings); echo $pagination; $page->output_footer();
1. Kann es sein, dass:
a) die LOG-Datei nicht die vom PlugIn angeforderten Datenstruktur enthält?
oder
b) das im PlugIn nicht entsprechend der Datenstruktur der LOG-Datei definiert ist?
2. Gibt/gab es bei MyBB (ma(l die Unterscheidung der Anzeige von Fehlermeldungen zwischen "Front-End" und "Admin End" oder so was ähnliches?
Vielleicht hat sich seit Erstellung des PlugIns (obwohl für V1.8) die Datenstruktur der LOG-Datei geändert. Nur mal so als Denkanstoß.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
(09.07.2020, 11:14)Gerti schrieb: Vielleicht hat sich seit Erstellung des PlugIns (obwohl für V1.8) die Datenstruktur der LOG-Datei geändert. Nur mal so als Denkanstoß.
Änderungen am Error Log wurden zB. in MyBB 1.8.20 vorgenommen, also rund 1 Jahr nachdem diese letzte Version des Plugins erschien.
Ob diese Änderungen nun die Ursache sind, habe ich nicht überprüft, aber eine Möglichkeit wäre es.
Beiträge: 2.251
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(09.07.2020, 11:35)doylecc schrieb: Ob diese Änderungen nun die Ursache sind, habe ich nicht überprüft, aber eine Möglichkeit wäre es.
Bei dieser Änderung wurde offensichtlich nur die Funktion "backtrace" hinzugefügt, welches im Plugin noch nicht berücksichtigt ist.
Ich habe eine log-Datei mit nur einem Fehler und ohne Backtrace-Eintrag erstellt und getestet. - kein Erfolg
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Bei uns funktioniert das Plugin (Frontend & Adminbereich) ohne Probleme.
Hier die error.log Einstellungen:
Hast du eventuell den Admin-Ordner umbenannt und die Änderungen nicht in den Einstellungen geändert?
Beiträge: 2.251
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
09.07.2020, 12:40
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2020, 12:44 von Schnapsnase.)
(09.07.2020, 12:34)SvePu schrieb: Bei uns funktioniert das Plugin (Frontend & Adminbereich) ohne Probleme.
Wie ist das möglich?
Wenn bei Dir beide Links "Frontend & Adminend" funktionieren sollten, dann müssen doch auch zwei Error-Log-Dateien existieren, oder verstehe ich diesen Code falsch?! MyBB speichert aber nicht in zwei verschiedene Log-Dateien.
PHP-Code: if($location == "admin") { if(file_exists(MYBB_ROOT . "/" . $config['admin_dir'] . "/" . $mybb->settings['errorloglocation'])) { $filecontents = file_get_contents(MYBB_ROOT . "/" . $config['admin_dir'] . "/" . $mybb->settings['errorloglocation']); } else { $page->output_error($lang->error_viewer_file_not_found); $page->output_footer(); } } else { if(file_exists(MYBB_ROOT . "/" . $mybb->settings['errorloglocation'])) { $filecontents = file_get_contents(MYBB_ROOT . "/" . $mybb->settings['errorloglocation']); $location = "user"; } else { $page->output_error($lang->error_viewer_file_not_found); $page->output_footer(); } }
$sub_tabs = array( "user" => array( "title" => $lang->error_viewer_front_end, "link" => $baseurl . "&location=user" ), "admin" => array( "title" => $lang->error_viewer_back_end, "link" => $baseurl . "&location=admin" ) );
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Bei uns werden zwei error.log erzeugt.
Eine im Forum-Root-Verzeichnis und eine im Admin-Verzeichnis.
|