Estimeret læsetid: 7 minutter
Har du nogensinde ønsket at kunne se tilbage i tiden? Hvad der er det mest naturlige i verden med fotoalbums og fjernsyn, er næsten umuligt med Navision eller Business Central.
Og dog er det så nødvendigt, og så hjælpsomt! For et gammelt programmørordsprog siger: Programmering er debugging. Et andet ordsprog siger: 90/20 fejl... Ved 90% af fejlene sidder fejlen 20 cm fra tastaturet... men: Hvordan vil man føre sådanne samtaler?
ProgrammeringsDet eneste, der kan føre til denne fejlmeddelelse, er, hvis du indtaster ordet „pingvin“ i feltet „Antal“. Har du gjort det?
BrugerMig? Aldrig!
Hvor ville det være dejligt, hvis man kunne skrue tiden en time eller to tilbage for at se, hvad brugeren reelt har indtastet på dette sted…
Navision & Business Central 365 Log-funktionen
Generelt har du kun disse midler:
–ÆndringslogAfhængigt af ændringsfrekvensen i tabellerne kan logningen af ændringsprotokollen hurtigt fylde din database op. Længe ikke længere relevante, 5 år gamle oplysninger konkurrerer her om minutændringer, f.eks. i salgsordrelinjer og finansposter. Hertil kommer belastningen på serveren og i databasen, forbundet med tabelspærringer. Ikke uden grund har jeg skrevet en separat artikel om dette, der „Oprydning i en Navision-database“ eller „rensning og formindskelse af en Navision-database“ nærmere beskriver.
–Ændret denStamdataene i Navision eller Business Central indeholder oftest feltet „Ændret den“ (som de fleste virksomheder supplerer med „Ændret af“ og „Oprettet den/af“). Selvom dette er en meget pladsbesparende måde at angive information på, hvornår den sidste ændring til denne sætning blev foretaget, men ikke hvilken Ændring.
–Raten. „Hvis dette nu står her, så kunne det tidligere have stået der.“
–Sikkerhedskopier. I et flot Navision og Business Central udviklingsmiljø har du for eksempel en automatisk, altid klar til brug udviklingsversion til rådighed for hver dag i måneden for de sidste 30 dage, hvor du kan slå noget op. Men den afslører også kun den aktuelle tilstand på tidspunktet for datasikkerhedskopieringen.
–FejlfindingsprogramDermed kan du desværre altid kun undersøge den aktuelle tilstand af Business Central & Navision, og det også kun med en enorm tidsindsats. Selv hvis du meget præcist aner, hvor fejlen kunne eller burde opstå, skal du med debuggeren i uendeligt lange sessioner omkring kritisk kode se den samme programkode igen og igen arbejde. Det er omtrent lige så produktivt og spændende som at se maling tørre.
LøsningenFildata logging. En given oplysning logges hver dag/session i en fil ved hjælp af en generisk, let anvendelig og altid den samme funktion („en Navision Log bliver skrevet“, eller, kortere: Navision (hhv. Business Central 365) Data logges).
Ældre versioner af loggen slettes automatisk, således at der også efter år altid kun er friske oplysninger om de pågældende aktuelle programmeringsstadier til rådighed.
Da der ikke opstår konkurrence mellem processerne, er denne løsning meget hurtig og låsefri. Og databasen bliver ikke rodet til med 99% unødvendige oplysninger, som det sker med andre Navision log-funktioner, nemlig ændringsloggen.
Navision-logfiler i en tekstfil
Du bestemmer selv, hvornår og hvor du vil nedfælde hvilke oplysninger („logge“ eller. skriv til Navision-loggen. f.eks. angivne filtre, fundne sætninger, valgte sorteringer:

I logfilen kan du så nemt, både under udvikling og ved fejlfinding, som opstår meget senere, de komprimerede resultater i Navision Log ansehen, og behøver ikke at sidde med blødende fingre i Business Central-debuggeren eller træde igennem:
10:11:45. 67,SIDE 50195,20-FA-10572,Find korrekte kolonne,Status=CONST(Udgivet),FA-nr.=CONST(10572),Arbejdsplanref.-nr.=CONST(10000),Arbejdsplan nr.=CONST(000643),Arbejdstrin nr.=CONST(30)
10:11:45. 67,SIDE 50195,20-FA-10572,Kolonne fundet,201
10:11:45. 67,SIDE 50195,20-FA-10572,Gammel indhold,0
10:11:45. 83,SIDE 50195,20-FA-10572,Konverter varighed,Orig: 50,57 aktive FA'er 1 Arbejder 2
10:11:45. 86,SIDE 50195,20-FA-10572,Gammel ny samlet,0 101,14 101,14
10:11:45. 89,SIDE 50195,20-FA-10572,Tid opdateret,BDE:50 minutter 34 sekunder/FA:101,14
Da „Log“ codeunit selv tager sig af
-Opret ny logfil
-Slet gamle logfiler (frit konfigurerbar)
- Udvid og formater logfilen
bekymrer sig om, er kaldet (se 1. skærmbillede) tilsvarende enkelt.
Da logfilen altid gemmes lokalt (i hvert fald min anbefaling), og bedst nogensinde bufferet på en SSD eller i det mindste RAM-cache, forsinker logning normalt ikke det almindelige programflow. Typisk skal der forventes mindst 15 loglinjer pr. millisekund. Et enkelt forkert filter/nøgle, der findes derved, retfærdiggør (fra et køretidsperspektiv) normalt flere tusinde loglinjer. Men selvfølgelig er det vigtigt også her at bevare overblikket: Hvis 10.000 logposter hurtigt skrives til logfilen gennem en løkke, vil det heller ikke gå sporløst hen over behandlingshastigheden. Hvad ellers. Logposter koster, ligesom enhver databehandling, også under Navision og Business Central 365 i sidste ende... tid!
Da logfunktionen arbejder så hurtigt og ikke forårsager nogen andre bivirkninger i systemet eller databaseserveren, kan input, fildatasynkroniseringer (hvad kommer der ind? hvad kommer der ud?), usædvanlige beregninger (kommer der egentlig altid det forventede resultat ud?) osv. nemt overvåges løbende i en Navision logfil.
Og i Navision Log Det falder meget hurtigere i øjnene, når en forventet programkode slet ikke bliver kørt, eller køres for ofte, eller i en ikke-optimal rækkefølge. Eller hvis rækkefølgerne springer uventet, f.eks. fordi nøglefelter er blevet ændret. Også unormalt lange køretider (ethvert find på mere end 7 ms er for lang tid!) viser med det samme forkert placerede filtre/nøgler/forespørgselsstrategier. Uendeligt lange gentagelser peger på meningsløse iterationer – rent visuelt let at finde i Navision Loggen!
På denne måde kan selv komplekse problemstillinger hurtigt opdeles i logiske delblokke med forståelige indgangs- og udgangstilstande.
Filer, der ikke er nødvendige (erfaringsmæssigt mere end 99.9%), forsvinder automatisk og uden spor igen efter en uge.
Visning af Navision logfilen med en hvilken som helst teksteditor
Vidste du, at du i Windows Stifinder kan tvinge enhver fil med tekstindhold ind i tekstfremvisningen? Som standard vises f.eks. logfiler ikke i forhåndsvisningen.
Nødvendige ændringer i registreringsdatabasen til dette. Den første ændring er nødvendig for at Windows kan behandle enhver fil med tekstindhold som en tekstfil. Den ændrer ikke visningsadfærden på dette tidspunkt!

EditFlags er allerede der og vil ikke blive ændret. De andre værdier:
[HKEY_CLASSES_ROOT]
@=“Tekstfil“
„Indholdstype“=“text/plain“
„PerceivedType“=“tekst“
„PersistentHandler“=“{5e941d80-bf96-11cd-b579-08002b30bfeb}“
Og, eksemplificeret ved *.Log-filerne, de nødvendige udvidelser i registreringsdatabasen for at vise som tekstfil:


Windows Registreringseditor Version 5.00
[HKEY_CLASSES_ROOT.log]
@=“txtfil“
„PerceivedType“=“tekst“
„Indholdstype“=“text/plain“
[HKEY_CLASSES_ROOT.log\PersistentHandler]
@=“{5e941d80-bf96-11cd-b579-08002b30bfeb}“
