Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Logs hjælper dig med at forstå, hvordan dine User Data Functions udføres, og diagnosticere problemer, når funktioner ikke opfører sig som forventet. Du kan se logfiler på to måder:
- Under test - Se realtidslogfiler i testpanelet, når du tester funktioner i Develop-tilstand
- Efter kald - Se historiske logs for publicerede funktioner, der er blevet kaldt
Denne artikel forklarer, hvordan man ser og bruger logs til at overvåge funktionsudførelse og fejlfinde problemer.
Se logfiler under test
Når du tester funktioner, kan du se logfiler i realtid, mens din funktion udføres:
- Testpanel i Udviklingstilstand - Se logfiler, når du tester upublicerede eller publicerede funktioner
- Kør panelet i kun kør tilstand - Se logfiler, når du kører publicerede funktioner
Begge paneler viser logdata med det samme, så du kan se udførelsesdetaljer og fejlfindingsproblemer, efterhånden som de opstår. For mere information om testfunktioner, se Test dine brugerdatafunktioner.
Se historiske logfiler for påkaldte funktioner
Efter dine publicerede funktioner er blevet kaldt, kan du se historiske logfiler for at analysere tidligere udførelser.
For at få adgang til historiske logfiler:
Skift til kun kør-tilstand ved hjælp af modeswitcheren.
Hold musen over funktionsnavnet i funktionslisten.
Vælg ellipseikonet (...), og vælg derefter Vis historisk log.
Forstå det historiske logs syn
Den historiske logoversigt viser nylige kald for den valgte funktion. Du kan se op til 50 poster, og logs opbevares i 30 dage. Vælg datolinket i kolonnen Dato (UTC) for at se detaljerede logfiler for en specifik kald.
Panelet Alle historiske logfiler indeholder følgende information pr. påkaldelse:
- dato (UTC). Tidsstemplet, der viser starten af funktionsaktivering. Vælg linket for at gennemse alle loggene for den pågældende aktivering. Den viser detaljerne for aktiveringen med alle meddelelser, der er logført af brugeren eller tjenesten.
- status. Angiver, om aktiveringen lykkedes eller mislykkedes.
- Duration(ms). Varigheden af funktionsudførelsen i millisekunder.
- aktiverings-id. Id'et for den specifikke funktionsaktivering. Aktiverings-id'et returneres som en del af en HTTP-header. Hvis der er problemer, kan brugerne henvise til dette aktiverings-id i en supportanmodning for at hente flere oplysninger om aktiveringen.
Se detaljerede logfiler for en specifik påkaldelse
Når du har åbnet den historiske logs-visning (som beskrevet i det forrige afsnit), kan du dykke ned i individuelle påkaldelser. Når du vælger et tidsstempellink i Dato-kolonnen (UTC), åbner panelet Invocation Details for at vise alle logs for den pågældende påkaldelse. Du kan også se følgende:
- Alle logs tilføjes i din funktionskode ved hjælp af modulet
logging - Systemgenererede logs om funktionsudførelse
- Eventuelle fejl eller undtagelser, der er sket
Hver logpost indeholder tidsstempel, logbesked og logniveau (Information, Advarsel, Fejl, Kritisk).
Tilføj logning til dine funktioner
Du kan tilføje brugerdefinerede log-statements til dine funktioner ved hjælp af Pythons standardmodul logging . Logs hjælper dig med at spore funktionsadfærd, overvåge databehandling og diagnosticere problemer.
Importer logningsmodulet
Først importerer du modulet logging i din funktionskode:
import logging
Notat
Modulet logging importeres som standard, når du opretter et nyt User Data Functions-element i Fabric-portalen eller ved hjælp af VS Code-udvidelsen.
Brug passende log-niveauer
Python leverer forskellige log-niveauer til forskellige situationer. Brug det passende niveau for at gøre dine logs mere meningsfulde:
# INFO - Track normal function execution and key steps
logging.info('Processing started for customer ID: 12345')
logging.info('Successfully retrieved 150 records from database')
# WARNING - Log potentially problematic situations that don't prevent execution
logging.warning('API response time exceeded 2 seconds')
logging.warning('Using cached data because fresh data is unavailable')
# ERROR - Log errors that affect functionality but don't crash the function
logging.error('Failed to connect to external API: Connection timeout')
logging.error('Invalid data format in row 42')
# CRITICAL - Log severe errors that may cause function failure
logging.critical('Database connection lost')
logging.critical('Required configuration parameter missing')
Bedste praksis for logning
Følg disse metoder for at gøre dine logfiler mere effektive:
- Log meningsfuld information – Inkluder relevante detaljer som ID'er, optællinger eller parameterværdier, der hjælper med at diagnosticere problemer
- Brug passende logniveauer – Log ikke alt som INFO eller FEJL; Brug det rette niveau til situationen
- Log på nøglepunkter - Tilføj logs i starten af funktioner, før og efter eksterne kald og ved databehandling
- Undgå at logge følsomme data – Log ikke adgangskoder, tokens, personlige oplysninger eller andre følsomme data
- Hold beskederne korte – Skriv klare, korte logbeskeder, der er nemme at scanne
- Vær opmærksom på volumen – Overdreven logning kan påvirke ydeevnen og nå den daglige indtagelsesgrænse
For mere information om at skrive funktionskode, se Python-programmeringsmodellen.
Begrænsninger og logbevarelse
Husk følgende begrænsninger, når du arbejder med logs:
- Logopbevaring - Historiske kald-logfiler opbevares som standard i 30 dage
- Synlige poster - Den historiske logsvisning viser op til 50 poster pr. funktion
- Logtilgængelighed - Påkaldelseslogs kan tage et par minutter at dukke op; Opdater siden, hvis du ikke ser de seneste logs
- Daglig indtagelsesgrænse - 250 MB om dagen; Grænsen nulstilles dagligt
- Prøvetagning - Logs kan tages prøver for at reducere volumen, samtidig med at statistisk korrekt analyse bevares
- Understøttede logtyper - Information, Error, Warning og Trace
For fuldstændig information om servicegrænser, se Servicedetaljer og begrænsninger.
Relateret indhold
- Test dine User Data Functions - Lær hvordan du tester funktioner og ser realtidslogfiler i Testpanelet
- Python-programmeringsmodel - Forstå hvordan man skriver funktionskode og bruger logningsmodulet
- Servicedetaljer og begrænsninger - Gennemgå logopbevaring og servicegrænser
- Tutorial: Kald brugerdatafunktioner fra en Python-applikation - Lær hvordan man kalder funktioner og bruger kald-ID'er