Update Logging
42
Logging.md
42
Logging.md
@@ -1,8 +1,10 @@
|
||||
# Logging
|
||||
De fleste bruger print() som debugging. Dette er dog ikke noget man gør i færdig software. Her bruger man log filer, som så hvis noget går galt kan analyseres. Og softwaren kan herefter blive opdateret.
|
||||
I Python gøres dette sådan.
|
||||
```python
|
||||
import logging # Importér 'logging' modulet
|
||||
|
||||
logger = logging.getLogger(__name__) # Opretter en log, samtidig beder vi om, at module navnet skrives i loggen.
|
||||
logger = logging.getLogger(__name__) # Opretter en log, samtidig beder vi om, at modul navnet skrives i loggen.
|
||||
|
||||
def sum(tal1: int, tal2: int) -> int:
|
||||
return tal1 + tal2
|
||||
@@ -25,4 +27,42 @@ Men til gengæld er der skrevet en fil - 'minlog.log'. Hvis vi åbner denne fil,
|
||||
```make
|
||||
INFO:__main__:Starter sum(5, 3)
|
||||
INFO:__main__:Returneret sum: 8
|
||||
```
|
||||
Hvad man skal huske, er at denne log fil hele tiden vokser. D.v.s. at hvis vi kører programmet 2 gange til, ser logfilen således ud.
|
||||
```make
|
||||
INFO:__main__:Starter sum(5, 3)
|
||||
INFO:__main__:Returneret sum: 8
|
||||
INFO:__main__:Starter sum(5, 3)
|
||||
INFO:__main__:Returneret sum: 8
|
||||
INFO:__main__:Starter sum(5, 3)
|
||||
INFO:__main__:Returneret sum: 8
|
||||
```
|
||||
Af samme årsag, er det en god ide, også at skrive dato og tid, så man efterfølgende kan se, hvornår en evt. fejl er opstået.
|
||||
Dette kan gøres således.
|
||||
```python
|
||||
import logging # Importér 'logging' modulet
|
||||
|
||||
logger = logging.getLogger(__name__) # Opretter en log, samtidig beder vi om, at module navnet skrives i loggen.
|
||||
|
||||
def sum(tal1: int, tal2: int) -> int:
|
||||
return tal1 + tal2
|
||||
|
||||
def main():
|
||||
logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S', filename='minlog2.log', level=logging.INFO) # Vi omkonfigurerer nu vores log til også at skrive dato og klokkeslæt.
|
||||
logger.info('Starter sum(5, 3)')
|
||||
res = sum(5, 3)
|
||||
logger.info(f'Returneret sum: {res}')
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
```
|
||||
Når vi kører dette program, får vi dette resultat.
|
||||
```console
|
||||
> python logging2.py
|
||||
>
|
||||
```
|
||||
En ny logfil - minlog2.log er skrevet, med dette indold.
|
||||
```make
|
||||
03/20/2025 01:09:44 - INFO - Starter sum(5, 3)
|
||||
03/20/2025 01:09:44 - INFO - Returneret sum: 8
|
||||
```
|
||||
Reference in New Issue
Block a user