FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Markus Bloch am 24 März 2015, 00:13:34

Titel: FHEMWEB - Bei Logfile Ausgabe direkt ans untere Ende scrollen
Beitrag von: Markus Bloch am 24 März 2015, 00:13:34
Hallo zusammen,

ich finde es momentan etwas nervig bei Logfiles immer manuell nach unten scrollen zu müssen. Es gibt zwar reverse-Log um die neuesten Zeilen oben anzuzeigen, aber wie betateilchen bereits schon an andere Stelle erwähnt hat, frisst das einiges an RAM.

Meine Idee war es daher, das ganze direkt in fhemweb.js zu lösen. Beim Vorhandensein eines <pre>-Tags mit der Klasse "log", soll nach ganz unten gescrollt werden. Dazu habe ich an Zeile 161 in fhemweb.js folgende Zeilen gesetzt (ans Ende der FW_jqueryReadyFn() )

  if($("pre.log").length)  {
      $(window).scrollTop($(document).height());
  }


Prinzipiell funktioniert das auch super, nur was ich mich Frage, wie soll man das ganze bei aktiviertem reverse-Log erkennen? Ich sehe momentan keine Möglichkeit via JS zu erkennen, ob reverse-Log aktiviert ist oder nicht und dann entsprechend zu entscheiden, ob nach unten gescrollt werden soll, oder nicht.

Hat hier jemand eine schlaue Idee, wie man das lösen kann?

Danke

Gruß
Markus
Titel: Antw:FHEMWEB - Bei Logfile Ausgabe direkt ans untere Ende scrollen
Beitrag von: justme1968 am 24 März 2015, 07:14:44
du kannst mit FW_queryValue per js attribute und readings aus fhem auslesen.

weil safari scheinbar bei scrollTop manchmal das problem hat das alles etwas zappelt habe  ich schon die ganze zeit vor zu schauen ob man reverseLogs nicht so umbauen kann das die zeilen jeweils im browser per js jeweils an den anfang gesetzt werden. ich bin aber noch nicht dazu gekommen es auszuprobieren.

das ganze würde dann im server nicht mehr den speicher overhead haben und man könnte es auch gleich im event monitor verwenden.

gegenüber scrollTop hat es aber vor allem den vorteil das das menü links sichtbar bleibt.

gruss
  andre


Titel: Antw:FHEMWEB - Bei Logfile Ausgabe direkt ans untere Ende scrollen
Beitrag von: betateilchen am 24 März 2015, 08:10:13
Zitat von: Markus Bloch am 24 März 2015, 00:13:34
Beim Vorhandensein eines <pre>-Tags mit der Klasse "log", soll nach ganz unten gescrollt werden.

Ich will das gar nicht so haben. Mein Logfile über 24 Stunden ist maximal zwei Bildschirmseiten lang, und WENN ich schonmal da reinschaue, weil ich einen Fehler suche, dann will ich das Logfile von oben nach unten lesen, ohne (mit Deiner Änderung) erst nach oben scrollen zu müssen.

Titel: Antw:FHEMWEB - Bei Logfile Ausgabe direkt ans untere Ende scrollen
Beitrag von: Markus Bloch am 24 März 2015, 11:10:35
OK, ich habe bei mir eben Monatslogs, damit ich irgendwelche Langzeit-Versuche machen kann. Die sind dann natürlich entsprechend groß.

Ich weis natürlich nicht, wie du dein Logfile benutzt. Bei mir ist es so, dass ich dann in das Log reinschaue, wenn ich eine neue Logmeldung erwarte und dann natürlich immer die aktuellste Logmeldung sofort sehen möchte, sobald ich irgendein Logfile in FHEM öffne und das möglichst ohne reverse-Log.

Titel: Antw:FHEMWEB - Bei Logfile Ausgabe direkt ans untere Ende scrollen
Beitrag von: betateilchen am 24 März 2015, 11:56:57
Ich habe einfach zwei Logs.

Im globalen Logfile werden nur "ungewöhnliche" Meldungen protokolliert, dort finde ich dann auch aufgelaufene Fehler. Per verbose Einstellungen ist dieses Log sehr übersichtlich, pro Tag maximal zwei Bildschirmseiten.

Im DbLog werden alle Messwerte geloggt, die ich für irgendwelche Auswertungen, notifies, SVG usw. brauche. Dort muss ich so gut wie nie reinschauen, weil mich die Messwerte nicht sonderlich interessieren.

Und wenn ich entwickle oder teste und dabei das Verhalten bestimmter devices anhand ihrer Logmeldungen analysieren will, habe ich innerhalb von 10 Sekunden ein zusätzliches FileLog angelegt, das ich genau für diesen Zweck verwende und nach der Analyse wieder lösche.