Estimated reading time: 7 minutos
¿Alguna vez ha deseado poder ver el pasado? Lo que es lo más natural del mundo con los álbumes de fotos y la televisión es casi imposible con Navision o Business Central.
Und doch ist es so nötig, und so hilfreich! Denn eine alte Programmiererweisheit sagt: Programming is debugging. Eine andere Weisheit sagt: 90/20 Fehler… Bei 90% der Fehler sitzt der Fehler 20 cm vor der Tastatur… nur: Wie will man solche Dialoge führen?
Programmierer: Das Einzige, was zu dieser Fehlermeldung führen kann, ist, wenn Sie in dem Feld „Menge“ das Wort „Pinguin“ eintippen. Haben Sie das getan?
Anwender: Ich? Niemals!
Wie schön wäre es, könnte man doch nun vielleicht 1 oder 2 Stunden zurücksehen, um festzustellen, was der Anwender nun wirklich an dieser Stelle eingegeben hat…
Navision & Business Central 365 Log-Funktionen
En general, sólo dispone de estos recursos:
–Changelog: Je nach Änderungsfrequenz in den Tabellen knallt Ihnen das Logging über das Änderungsprotokoll schnell ihre Datenbank voll. Längst nicht mehr relevante, 5 Jahre alte Informationen konkurrieren dabei um minütliche Änderungen, z.B. in Verkaufszeilen und Fibu Buchungsblättern. Dazu kommt die Last auf dem Server und in der Datenbank, verbunden mit Tablelockings. Nicht ohne Grund habe ich dazu einen eigenen Artikel geschrieben, der das „Aufräumen in einer Navision-Datenbank“ bzw. das „Bereinigen und verkleinern einer Navision-Datenbank“ näher beschreibt.
–Modificado el: Los datos maestros de Navision o Business Central suelen contener el campo "Modificado el" (complementado por la mayoría de las empresas con "Modificado por" y "Creado el/por"). Se trata de una forma de ahorrar espacio que permite saber cuándo se realizó la última modificación en este registro, pero no qué modificación.
–Adivinar. "Si dice esto ahora, puede que lo haya dicho antes."
–Copias de seguridad. En un buen entorno de desarrollo de Navision y Business Central, por ejemplo, dispone de una versión de desarrollo automática para cada día del mes de los últimos 30 días, que puede consultar en cualquier momento. Pero incluso esto sólo revela el estado real en el momento de la copia de seguridad de los datos.
–Debugger: Por desgracia, esto sólo le permite investigar el estado actual de Business Central y Navision en un momento dado, y sólo con una inmensa cantidad de tiempo. Incluso si tiene una muy buena idea de dónde podría o debería producirse el error, tiene que utilizar el depurador para ver el mismo código de programa en funcionamiento una y otra vez en sesiones interminablemente largas alrededor del código crítico. Esto es tan productivo y emocionante como ver secarse la pintura.
La solución: Datei-Logging. Dabei wird mit einer generischen, leicht aufzurufenden und immer gleichen Funktion eine von Ihnen festgelegte Information pro Tag/Sitzung in eine Datei geschrieben („ein Navision Log wird geschrieben“, oder, kürzer: Navision (bzw. Business central 365) Daten werden geloggt).
Ältere Versionen des Logs werden dabei automatisch gelöscht, so das auch nach Jahren immer nur frische Informationen der jeweils aktuellen Programmstände zur Verfügung stehen.
Da hier keine Konkurrenz der Prozesse entsteht, ist diese Lösung sehr schnell und Lock-frei. Und die Datenbank wird nicht mit 99% unnötigen Informationen zugemüllt, so wie bei anderen Navision Log Funktionen, namentlich das Changelog.
Navision-Log in einer Textdatei
Sie entscheiden selbst, wann und wo Sie welche Informationen weg schreiben („Loggen“ bzw. in das Navision Log schreiben). z.B. gesetzte Filter, gefundene Sätze, gewählte Sortierungen:

Im Log können Sie sich dann gemütlich, sowohl beim Entwickeln wie auch bei der viel später auftretender Fehlersuche, die komprimierten Ergebnisse im Navision Log ansehen, und müssen dabei nicht mit blutenden Fingern durch den Debugger von Business Central oder durchsteppen:
10:11:45. 67,PAGE 50195,20-FA-10572,Korrekte Spalte suchen,Status=CONST(Released),FA-Nr.=CONST(10572),Arbeitsplanref.-Nr.=CONST(10000),Arbeitsplannr.=CONST(000643),Arbeitsgangnr.=CONST(30)
10:11:45. 67,PAGE 50195,20-FA-10572,Spalte gefunden,201
10:11:45. 67,PAGE 50195,20-FA-10572,Alter Inhalt,0
10:11:45. 83,PAGE 50195,20-FA-10572,Dauer umrechnen,Orig: 50,57 active FAs 1 Worker 2
10:11:45. 86,PAGE 50195,20-FA-10572,Alt Neu Gesamt,0 101,14 101,14
10:11:45. 89,PAGE 50195,20-FA-10572,Zeit aktualisiert,BDE:50 Minuten 34 Sekunden/FA:101,14
Da sich die „Log“ Codeunit selbst um
-Crear nuevo archivo de registro
-Eliminación de archivos de registro obsoletos (ajustable libremente).
-Ampliar y formatear el archivo de registro
la llamada (véase la 1ª captura de pantalla) es correspondientemente sencilla.
Da die Log-datei immer lokal abgelegt wird (so zumindest meine Empfehlung), und am besten noch auf einer SSD oder zumindest RAM-Cache gepuffert, verzögert das Logging i.d.R. nicht den regulären Programmablauf. Typisch ist mit mindestens 15 Logzeilen pro Millisekunde zu rechnen. Ein einziger dadurch gefundener falsch gesetzter Filter/Key rechtfertigt (aus Laufzeitsicht) in der Regel mehrere tausend Logzeilen. Aber natürlich gilt es auch hier Augenschein zu bewahren: Wenn durch eine Schleife schnell mal 10tausend Logeinträge in die Log Datei geschrieben werden, geht das auch nicht spurlos an der Verarbeitungsgeschwindigkeit vorbei. Wie auch. Log-Einträge kosten, wie jede Datenverarbeitung, auch unter Navision und Business Central 365 am Ende… Zeit!
Da die Logfunktion so schnell arbeitet und keinerlei sonstige Seiteneffekte im System oder dem Datenbankserver verursacht, können auch Eingaben, Dateischnittstellen (was kommt? Was geht?), ungewöhnliche Berechnungen (kommt da eigentlich immer das erwartete Ergebnis raus?) etc. problemlos auf Dauer in einer Navision Log Datei überwacht werden.
Und im Navision Log fällt viel schneller auf, wenn ein erwarteter Programmcode gar nicht durchlaufen wird, oder zu oft, oder in einer nicht optimalen Reihenfolge. Oder Reihenfolgen unerwartete springen, z.B. weil Schlüsselfelder modifiziert wurden. Auch ungewöhnlich lange Laufzeiten (jeder Find mit mehr als 7 ms ist zu lange!) zeigen auf einen Blick falsch gesetzte Filter/Schlüssel/Abfragestrategien. Endlos lange Wiederholungen weißen auf sinnlose Iterationen hin – rein optisch leicht im Navision Log zu finden!
Esto significa que incluso las cuestiones complejas pueden dividirse rápidamente en subbloques lógicos con estados de entrada y salida comprensibles.
Dateien, die nicht benötigt werden (erfahrungsgemäß mehr als 99.9%) verschwinden nach einer Woche wieder automatisch & rückstandslos.
Einfaches Anzeigen der Navision Log-Datei mit jedem Texteditor
¿Sabías que puedes forzar que cualquier archivo con contenido de texto aparezca en la vista previa de texto del Explorador de archivos de Windows? Los archivos de registro, por ejemplo, no se muestran en la vista previa por defecto.
Cambios necesarios en el registro. El primer cambio es necesario para que Windows pueda tratar cualquier archivo con contenido de texto como un archivo de texto. Todavía no cambia ningún comportamiento de visualización.

EditFlags ya está ahí y no se cambiará. Los otros valores:
[HKEY_CLASSES_ROOT]
@=“Textfile“
„Content Type“=“text/plain“
„PerceivedType“=“text“
„PersistentHandler“=“{5e941d80-bf96-11cd-b579-08002b30bfeb}“
Y, utilizando el ejemplo de los archivos *.log, las extensiones de registro necesarias para que cada extensión se muestre como un archivo de texto:


Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT.log]
@=“txtfile“
„PerceivedType“=“text“
„Content Type“=“text/plain“
[HKEY_CLASSES_ROOT.log\PersistentHandler]
@=“{5e941d80-bf96-11cd-b579-08002b30bfeb}“
