LXDebug dump_sql_result: Spaltenanordnung je nach Inhalt
Spalten, die komplett numerisch sind, werden rechtsbündig angeordnet;alle anderen linksbündig.
LXDebug::clone_for_dump: Warnung wegen Hash-Zugriff mit Key undef vermeiden
LXDebug: fix level2string für diverse Level, inklusive WARN
Module: gebundletes YAML durch dünnen Wrapper über YAML::XS & YAML ersetzt
Warnings: LXDebug::log_time
LXDebug: clone_for_dump als eigenständige Funktion zur Wiederverwendung
LXDebug::dump: Objekte aus Namensraum SL::* ohne »as_debug_info« wie Hash behandeln
LXDebug::dump: nur Form-Instanzen als Hash behandeln, nicht alle Hash-basierten Objekte
LXDebug::dump: Unterstützung für zirkuläre Strukturen
Durch die Umstellung auf vorheriges Reduzieren auf essenzielleInformationen muss dump() sicherstellen, dass es bei zirkulärenStrukturen nicht in eine Endlosschleife gerät.
Weiterhin müssen alle Rückwärtsreferenzen aufgeweicht...
LXDebug::dump: Interna von Rose-DB- und DateTime-Objekten nicht mehr ausgeben
dump arbeitet nun nicht mehr direkt auf dem zu dumpenden Objekt,sondern auf Kopien, die je nach Typ auf ihre essenziellenInformationen zusammengeschrumpft werden. Dafür kann ein Objekt eine...
LXDebug: bei SHOW_CALLER ersten Caller außerhalb von LXDebug.pm nehmen
Andernfalls wird beim Aufruf von z.B. »SL::Controller::CustomerVendor →LXDebug::dump() → LXDebug::message()« fälschlicherweise»LXDebug::dump()« als Caller ausgegeben. Das interessiert die Nutzer*in...
LXDebug: Flag SHOW_CALLER für Ausgabe Dateiname:Zeilennummer bei message() & dump()
LXDebug: beim Request-Timer auch die aufgerufene Controller+Action loggen
LXDebug: Prozess-ID des kivitendo-Prozesses ausgeben, nicht die des Parents
Handle zur LXDebug-Logdatei auch UTF-8 encoden
Wenn GREEK CAPITAL LETTER DELTA im Text, dann auch utf8 flaggen.
LXDebug::log_time: Differenz zum letzten Aufruf in ms mit ausgeben
LXDebug: Zeitstempel mit Millisekunden-Auflösung ausgeben
$::lxdebug->backtrace_on_error auch im force mode anzeigen
LXDebug::dump_object zum Dumpen von den Spalten von RDBO-Instanzen
Dumpt keine Datenbankhandle, keine Relationships
Nachtrag Requestlogging: request method
Neuer Debugparameter: Request
Loggt sinnvolle Informationen zum Request.
Kosmetik: Einrückung nach Entfernung umliegender "if ()"
Data::Dumper immer via 'use' und nicht 'require' einbinden
Ist schließlich ein Core-Modul.
$::lxdebug->dump() gibt den gedumpten Text zusätzlich als Rückgabewert zurück
LXDebug->dump: Optionen an Data::Dumper übergeben können
LXDebug: Indent auf 2
DebugMenu entfernt, weil es momentan nicht mehr funktioniert
Lx-Office heißt nun kivitendo
Hinweise auf lx_office.conf in kivitendo.conf geändert
Fixt #2031.
Warnung beim Testen unterdrücken
$::lxdebug->log_time optional text mitgeben.
Alle 2-arg open in 3-arg open verwandelt.
enter_sub(2)/leave_sub(2) nur loggen, wenn TRACE2 als Log-Level gesetzt ist
Bisher wurde das Argument als normales Log-Level interpretiert, wasDEBUG1 entsprach. Das ist aber unintuitiv und macht es relativsinnlos, DEBUG1 zu benutzen, weil es zusammen mit TRACE plötzlich alle...
Mehr Dokumentation für SL/LxDebug.pm
Dokumentation für SL/LXDebug.pm
Funktion für unified diff zweier Objekte/Strings in Debugausgabe
Debug Menü im HTML Menü. FCGI Entwicklung leicht gemacht.
Separates Logging für die Console.
Wenn man mit Userrechten arbeitet gibt es ständig Konflikte welcher Prozess nunauf das Logfile zugreifen darf. LXDebug ignoriert das still, aber Log4Perlstirbt mit einer Fehlermeldung. Ab nu gibt es eine separate Logdatei für die...
Initialisierung von LXDebug von lx-erp.conf nach lx_office.conf verschoben
Neue Option in LXDebug: LXDebug->WARN.
Sämtliche Perl warnings die auftreten, werden jetzt über einenSighandler an LXDebug weitergeleitet, und werden, sofern gewünscht,in das LxOffice Log geschrieben.
Das ganze soll später dazu dienen, inkrementell die Module von warnings zu...
LXDebug->log_time routine
Requests nicht timen, wenn begin_request nicht aufgerufen wurde.
feineres times wenn trace & requesttimer an sind.
Möglichkeit, den Dateinamen für Debugmeldungen zu ändern.
log: nach einem request die trace tiefe resetten.
Weiteres Debug-Level und Funktionen zur Anzeige, wie lange ein Request gedauert hat
Bugs: tracing Funktionen liefen auf instance->{level} und nicht auf $global_level
Funktion um abzufragen ob Tracing aktiviert ist.
Bugfix in SL/Menu und weitere stricts.
Umstellung der Benutzerverwaltung von Dateien im Verzeichnis "users" auf die Verwendung einer Authentifizierungsdatenbank.Es ist erforderlich, die Dateien doc/UPGRADE und doc/INSTALL/index.html zu lesen und die angesprochenen Punkte auszuführen, um nach einem Upgrade weiter arbeiten zu können.
Das Modul "Data::Dumper" hat die Eigenheit, dass es den Iterator von gedumpten Hashes nicht zurücksetzt bzw. ihn nicht bis zum Ende ausliest, wenn "Sortkeys" wahr ist. Das hat zur Folge, dass der folgende Aufrufe von "each" für dieses Hash sofort beendet wird. Also muss der Iterator manuell zurückgesetzt werden. Siehe auch die Diskussion in "perldoc -f each".
Debugmodi umgeschrieben auf das viel schoenere shiftingformat.Neuer Debugmodus "DEVEL", der genau das enthaelt was man ueblicherweise zum debuggen braucht,ohne den overhead von ALL.
Wenn der Benutzer Leerzeichen am Ende will, dann diese nicht entfernen.
Codevereinfachung
Eine Funktion zum tabellarischen Ausgeben von SQL-Ergebnissen (erwartet eine Referenz auf ein Array mit Hashreferenzen) hinzugefügt.
Die Ausgabe von Data::Dumper sortieren lassen, damit sie besser durchsuchbar ist.
Funktion zum Dumpen von Objekten via YAML hinzugefügt. Ist manchmal besser lesbar als die Ausgabe von Data::Dumper;
Leichter zu lesende Debugausgaben durch Einrückung.
Leicht anderer Name -- es ist im Endeffekt ein stack backtrace, also soll er auch so benannt werden.
Mehr Debugmöglichkeiten für DBUtils.pm und allgemein für Fehlersituationen eingeführt, die über $form->error() signalisiert werden.
Den zuletzt implementierten Mechanismus entfernt, um $form-Variablen zu überwachen, und dafür einen neuen Mechanismus implementiert, der auf tie basiert. Dadurch ist es möglich, immer die exakte Zeilennummer zu erfahren, in der eine Variable geändert wird.
Fehlendes Objekt bei Funktionsaufruf.
Auch beim Aufruf von LXDebug::message() auf Veränderungen bei beobachteten Variablen testen.
Rudimentäre Überwachungsfunktion für $form-Variablen in LXDebug implementiert.
->message(0, ...) sollte wieder funktionieren
Debugmechanismus leicht verbessert.Tracing ist jetzt keine unabhaengige Variable mehr sondern ein Aspekt.Alle anderen Debuglevel sind jetzt bitexklusiv, und koennen einzeln an und ausgemacht werden.
Grund dafuer ist, dass jetzt mit QUERY ein Modus eingefuehrt wird, der es erlaubt alle SQL queries die ueber die Funktion do_query laufen zu loggen....
Recommit von r993:995 von udo_spallek: Weiteren Debuglevel hinzugefuegt: LXDebug::QUERY. Damit koennen dann zur Analyse ausgegeben werden. QUERY steht hinter DEBUG2 als letzter Debuglevel, weil die query Variablen einen erheblichen Ouput erzeugen. Kommentar in der lx-erp.conf ergaenzt.
Uebernahme der kompletten Version, so wie sie Philip als "Demo-Version" gezeigt hat, in das unstable-Repo. Dabei werden auch einige Patches, die seit der 2.2.0 hier eingepflegt wurden, wieder ueberschrieben. Diese werden in den naechsten Tagen wieder eingespielt, sofern noetig. Zu den neuen Features gehoeren (ohne Anspruch auf Vollstaendigkeit) Mahnwesen, Einheiten, Template-Neucodierung, AJAX-basierende Dialoge an einigen Stellen, Buchungsgruppen etc etc.
Trace Levels Hack. Wenn es koennen jetzt in den lxdebug->enter_sub und leave_sub Aufrufen Tracelevels uebergeben werden. Ist das global_trace_subs geringer, werden diese in den Traceausgaben ignoriert. Standardmaessig ist das jetzt bei Menu::access_control und Form::unescape der Fall....
Weiteren Debuglevel hinzugefuegt: LXDebug::QUERY. Damit koennen dann $queryszur Analyse ausgegeben werden. QUERY steht hinter DEBUG2 als letzter Debuglevel,weil die query Variablen einen erheblichen Ouput erzeugen.
Kosmetik: Perltidy-Lauf nach den Einstellungen in doc/programmierrichtlinien.txt ueber alle .pl und .pm.
Merge von 554 aus stable: Fix fuer altere Perl-Versionen (5.6.x), die wohl die Block-Syntax bei "use constant" nicht unterstuetzen.
Alle Dateien durch Perltidy laufen lassen. Die verwendeten Optionen sind am Ende der neu hinzugefuegten Datei doc/programmierstilrichtlinien.txt zu finden.