From: Wilfried Kramer Reply-To: Wilfried Kramer Newsgroups: hamster.de.newuser Subject: [FAQ] Anleitung zum Posten eines Hamster Logs <2004-05-23> Organization: Agent/Proton/FAQ-poster MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Changed: Do not post a Debug-Log. Never ever!!!!1 Posting-frequency: 4 weeks Last-modified: 2004-05-23 URL: http://soscha.de/hamster/logpost-faq.txt Hallo Newuser und Altgediente, oft genug kommt die Aufforderung zum Posten eines Hamster-Logs bzw. Auszügen davon. Und regelmäßig sind diese Daten nur sehr schwer lesbar, weil sie durch Zeilenumbrüche verstümmelt werden. Hier möchte ich ein paar Tips geben, wie das Posten und das Helfen zum beiderseitigen Nutzen erleichtert werden kann. Grundsätzlich gehe ich von einem Newsreader aus, der einen Umbruch nach spätestens 72 Zeichen macht. 1. Woher das Log? Zunächst aber einmal, wie man an so ein Log kommt. Zuerst ist es wichtig, den Fehler reproduzieren zu können. Oder mindestens das Auftauchen zu bemerken und innerhalb einer Minute zu reagieren. Der Hamster hat ein Teilfenster "ges. Protokoll" bzw. "Log". Hier zeigt er an, was er so alles macht. Tritt ein Fehler (rot) oder eine Warnung (gelb) auf, öffnet sich ein weiteres Fenster. Dahin wechseln wir jetzt, und führen einen Doppelklick auf die gelbe/rote Zeile aus. Hamster öffnet noch ein Fenster (ja, er hat so viele auf Lager) "Einzelner Auftrag" bzw. "Log: Thread", in dem die Fehlermeldung und weitere Einträge erscheinen. Diese sind aus dem zeitlichen Kontext des Fehlers und betreffen nur den kritischen Auftrag. Genau das sind die notwendigen Daten. Ein Rechtsklick auf eine der Zeilen bietet die Möglichkeit, das Protokoll in die Zwischenablage zu kopieren. Und genau das tun wir jetzt. 2. Wie sollte es am Ende aussehen? Ab hier geht es um die Bearbeitung des Log-Textes. Es mag sein, daß jeder einen eigenen Lieblingseditor hat. Als Basis gehe ich an dieser Stelle von Wordpad aus, weil das jeder auf seinem Rechner zur Verfügung hat. Wir starten also Wordpad. Hier soll das Log hinein, was mit Ctrl-V oder Bearbeiten -> Einfügen gelingen sollte. Ich werde ab jetzt ein Beispiellog aus meinem Hamster (ohne Fehlermeldung) verwenden, um die Schritte zu demonstrieren. Hier die Daten aus dem Hamster. 2003.05.20 23:12:21 Sys {a00} {newsjobs dnews.arcor.de} Start 2003.05.20 23:12:21 I {a00} {newsjobs dnews.arcor.de} Verbindung aufbauen... 2003.05.20 23:12:25 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.software.newsreader 2003.05.20 23:12:25 I {a00} [dnews.arcor.de, de.comm.software.newsreader] Artikelbestand: 72965-79969, geladen wird 79968-79969. 2003.05.20 23:12:25 I {a00} [dnews.arcor.de, de.comm.software.newsreader] Lade bis zu 2 Artikel... 2003.05.20 23:12:25 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.provider.usenet 2003.05.20 23:12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.admin.news.misc 2003.05.20 23:12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.admin.news.groups 2003.05.20 23:12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.software.mailserver 2003.05.20 23:12:26 I {a00} [dnews.arcor.de, de.comm.software.mailserver] Artikelbestand: 28536-32393, geladen wird 32393-32393. 2003.05.20 23:12:26 I {a00} [dnews.arcor.de, de.comm.software.mailserver] Lade bis zu 1 Artikel... 2003.05.20 23:12:26 I {a00} {newsjobs dnews.arcor.de} Verbindung abbauen... 2003.05.20 23:12:26 Sys {a00} {newsjobs dnews.arcor.de} Ende 1111111111 22222222 333 44444 5555555555555555555555555 6666 Anhand der letzten Zeile definiere ich erst mal ein paar Begriffe: 1,2: Datum und Uhrzeit, der sog. Timestamp. 3: Das Loglevel, s.u. 4: Die Thread-ID. Das ist eine interne Kennung von Windows. Mit dieser werden die verschiedenen Prozesse auf dem System auseinandergehalten. Unter Windows-NT und den Nachfolgern (hier XP) ist sie normalerweise recht kurz, unter Windows 9x dagegen 8 Stellen lang {fffcda00}. 5: Die "Betroffenheitsanzeige". Hamster zeigt hier, welche Aufgabe dieser Thread gerade erfüllt. 6: Der eigentliche Meldungstext Dieses Beispiellog geht nur bis zum Level 'Info'. Das Prinzip ist auf allen Ebenen ähnlich. Wie wir sehen, sind einige Zeilen ziemlich lang. Konkret würde der Newsreader jetzt 11 der 13 Zeilen umbrechen. Das ist ein mieses Verhältnis. Daher streichen wir einige nicht wichtige Informationen. Zuerst mal ist das der größte Teil des Timestamp. Außerdem ist es ja Ziel, daß kein Umbruch stattfindet. Daher kommt an den Anfang der Zeile ein Zitatzeichen. Nur ungeschickte Programme brechen dann noch um (dazu später mehr). Im konkreten Fall ersetzen wir hier also alles vor den Minuten durch ein einfaches "> ". Das wird hier als Beispiel verwendet, weil das eigentlich in jedem Reader funktionieren sollte. In Wordpad benutzen wir Bearbeiten -> Ersetzen. Unter "Suchen nach" geben wir "2003.05.20 23:" ein (ohne Gänsefüßchen). Unter "Ersetzen mit" geben wir "> " ein, ebenfalls ohne Gänsefüßchen. Dann klicken wir auf [Alle Ersetzen]. Das Ergebnis ist: > 12:21 Sys {a00} {newsjobs dnews.arcor.de} Start > 12:21 I {a00} {newsjobs dnews.arcor.de} Verbindung aufbauen... > 12:25 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.software.newsreader > 12:25 I {a00} [dnews.arcor.de, de.comm.software.newsreader] Artikelbestand: 72965-79969, geladen wird 79968-79969. > 12:25 I {a00} [dnews.arcor.de, de.comm.software.newsreader] Lade bis zu 2 Artikel... > 12:25 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.provider.usenet > 12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.admin.news.misc > 12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.admin.news.groups > 12:26 I {a00} {newsjobs dnews.arcor.de} Lade de.comm.software.mailserver > 12:26 I {a00} [dnews.arcor.de, de.comm.software.mailserver] Artikelbestand: 28536-32393, geladen wird 32393-32393. > 12:26 I {a00} [dnews.arcor.de, de.comm.software.mailserver] Lade bis zu 1 Artikel... > 12:26 I {a00} {newsjobs dnews.arcor.de} Verbindung abbauen... > 12:26 Sys {a00} {newsjobs dnews.arcor.de} Ende ----+---10----+---20----+---30----+---40----+---50----+---60----+---70-- Schon deutlich kürzer. Der Umbruch träfe jetzt nur noch die sechs längsten Zeilen, falls er nicht sowieso durch das Zitatzeichen unterbunden wird. Unter Windows 95 bis ME ist ja die Thread-ID deutlich länger, diese kann auch mittels Bearbeiten -> Ersetzen auf die letzten drei Stellen gekürzt werden. Für {fffcda00} eben "{fffcd" durch "{" ersetzen. Nachdem also schon kräftig gekürzt wurde, kann das Ergebnis mittels Cut&Paste in den Newsreader übernommen werden. Durch das Zitatzeichen brechen die meisten Programme die Zeilen nicht mehr um, auch wenn das im Editor so aussehen mag. Eine wichtige (und unrühmliche) Ausnahme ist mal wieder Outlook Express. Aber hier sollte sowieso entsprechend http://oe-faq.de/antwort5.htm#1.01 die Zeilenlänge auf 132 Zeichen gestellt werden. Der eigene Text muß dann manuell mit auf ca. 70 Zeichen pro Zeile gebracht werden. Hier sind die längsten Zeilen nur noch 119 Zeichen lang, das sollte also klappen. Bei anderen Programmen läßt sich der Umbruch von Zitaten aktivieren (XNews, Morver). Natürlich muß das hier ausdrücklich abgeschaltet werden. Das gleiche Problem existiert bei OE mit der Nutzung von OE-Quotefix. OE-QF bricht Zitate um, das muß kurzfristig deaktiviert werden. 3. Verschiedene Loglevel? Der Hamster kann mehr oder weniger detailliert protokollieren, was er gerade tut. Die Einstellungen für die Anzeige finden sich unter "Einstellungen" -> "Grundeinstellungen..." im Register "Optik". Normalerweise sind hier bis auf Detail und Debug alle Optionen aktiviert. Für einen ersten Versuch, ein Log zu gewinnen, ist das schon nicht schlecht. Vor dem Posten des Logs ist es aber sinnvoll, mindestens "Detail" ebenfalls zu aktivieren. Und danach den Fehler zu reproduzieren. Wenn das gelingt, stehen mehr Informationen zur Analyse bereit. Dann also die Verarbeitungsschritte aus Abschnitt 2 mit diesen neuen Daten durchführen. Das Level "Debug" bitte erst auf ausdrückliche Anforderung aktivieren. Und zwar aus mehreren Gründen, a) macht das den Hamster deutlich langsamer, b) wird das Log durch Auszüge der übertragenen Daten umfangreicher, und c) können die Daten aus b) durchaus sehr privat sein. Da je nach Abschnitt auch die Kommunikation mit den externen Servern enthalten ist, sind dann Paßworte enthalten. Als Klartext oder verschleier. Damit c) nicht gefährlich wird, sollte also niemals ein Log im Level Debug gepostet werden. Austausch mit einem Helfer, dem man genug vertraut, ist eine andere Sache. Dann natürlich per Mail. Und auch das Vertrauen sollte man sich sehr gut überlegen. 4. Andere Quellen für Logs? Hamster protokolliert auch in Log-Dateien, was sich so getan hat. Diese landen normalerweise im Unterverzeichnis Logs des Hamster. Die neueste Version ist 0.log, die vorige 1.log, u.s.w. Die Einstellungen für das Loglevel befinden sich jetzt nicht auf dem Reiter "Optik", sondern auf "Protokolle". Auch von hier kann man die Daten gewinnen. Es ist allerdings etwas aufwendiger. Zunächst mal muß man die Datei bis zum fraglichen Zeitpunkt nach der Fehlermeldung durchsuchen. Und jetzt wird die Thread-ID ganz wichtig. Aus der Log-Datei wollen wir jetzt den relevanten Thread aussortieren. Dieses gelingt mit dem DOS-Kommando FIND. Im Logs-Verzeichnis des Hamsters eine DOS-Box öffnen. Das Kommando FIND <0.log >post.log "{Thread-ID}" erstellt die Datei post.log. Für {Thread-ID} bitte den ermittelten Wert inklusive der geschweiften Klammern einsetzen. Und hier gehören die Gänsefüßchen ausnahmsweise mal dazu. Die erzeugte Datei post.log kann man wieder mit Wordpad öffnen. Und dann wie oben weiter verarbeiten. Ein Hinweis: Eine Thread-ID kann und darf durchaus nach einiger Zeit wieder vergeben werden. Daher können fremde Daten in post.log erscheinen, die mit dem Problem nichts zu tun haben. Anhand des Timestamp können sie sehr einfach identifiziert und gelöscht werden. Leider ist diese Methode nicht anwendbar, wenn auch das Level Debug gepostet werden soll. Weil in den entsprechenden Zeilen die Thread-ID nicht enthalten ist. Hier ist es wirklich besser, die Daten direkt aus dem Hamster zu entnehmen. Wenn es gar nicht anders geht, eben dann eben nur das Quotezeichen "> " vorne einfügen. Das sollte aber eine seltene Ausnahme bleiben. 5. Was noch? Vor dem Posten von Logs (und BTW auch Scripten) bitte genau prüfen, ob nicht etwa Zugangsdaten enthalten sind. Dabei Punkt 3c) besonders beachten. Es ist durchaus sinnvoll, diese unkenntlich zu machen (auszu-X-en). Gleiches gilt für etwaige private Informationen in Mail-Auszügen. Aber bitte auch dazuschreiben, daß und was verändert wurde. Im Übrigen weise ich auch noch einmal auf die regelmäßig hier von mir gepostete "[FAQ] hamster.de.newuser, Checkliste zur Fehlersuche" hin. Bitte ebenfalls lesen, und nach Möglichkeit beachten. Viel Erfolg weiterhin Wilfried