Använda modulen 'logging' i python

Här diskuteras programmering och utveckling
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

Använda modulen 'logging' i python

Inlägg av Victor »

Hej igen, nu kommer jag med en (förhoppningsvis inte för svår) fråga igen :)

Jag är riktigt kass på att läsa manualer och så, förstår dem inte :S Men nu är det så att jag vill kunna utnyttja en Logg-funktion och jag hittade modulen Logging som verkar lovande. Det jag vill göra är att på ett smidigt sätt spara felmedelande (som jag själv skriver) i en .log/.txt fil som man sedan kan läsa av för att se vad för problem som uppstod under körningen men som inte var så 'allvarliga' så att det inte kunde fortsätta.

Så, är det någon som känner sig bekant med modulen Loggin (i Python) som kanske skulle kunna hjälpa mig? Eller är det någon som kan tyda manualen och visa hur man ska gå tillväga?

Här är länk till (tror ja) officiella manualen: http://docs.python.org/lib/module-logging.html

Med jättestora varma sommarhälsningar /Victor
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

SV: Använda modulen 'logging' i python

Inlägg av DrMegahertz »

Hinner inte skriva ner en vägledning själv då jag ska iväg och gratta min morfar  ;D

Men här verkar det finnas ett exempel som du kan studera och leka lite med;
http://docs.python.org/lib/node407.html
BildAre you shpongled? Bild
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Använda modulen 'logging' i python

Inlägg av Victor »

Tackar! Funkar utmärkt!

Men nu när jag lekt lite med det och tänkte att jag skulle implementera det i mitt lite störe script så kom jag att tänka på hur och varför jag ska använda en logg som sparar till en fil.

Vad ska jag spara i filen, vad är viktigt (bara fel, eller hela proceduren) och vad ska jag sen ha loggen till?

lite små funderingar som jag kan tänka mig är lite individuellt men vad anser du/ni?
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: Använda modulen 'logging' i python

Inlägg av Lars »

Det finurliga med Pythons logging är ju att du i skriptet kan logga precis allt (DEBUG, WARNING, ERROR o.s.v), men sedan kan du på ett ställe ange hur mycket du vill spara i filen. Medan du utvecklar programmet kan det vara bra att logga allt, men sedan när allt fungerar som det ska kan du ändra på ett ställe så att endast ERROR loggas. Du kan ju låta detta vara en inställning som användaren kan påverka.

Om det hela ska köra som root så är ju /var/log/ ett lämpligt ställe, annars får det väl bli i hemkatalogen någonstans. Eller så kan du använda SysLogHandler så hamnar det där ändå. RotatingFileHandler har jag använt en del, väldigt smidigt.

Tänk på att loggen helst ska kunna användas för felsökning, så att du kan gå tillbaka och se när felet uppstod och vad ditt program gjorde just då.
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Använda modulen 'logging' i python

Inlägg av Victor »

OKej, tack! Men om jag kör "Test Driven development", alltså jag skapar testfall hela tiden innan jag skapar den "verkliga" modulen - behöver jag då loggning?
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: Använda modulen 'logging' i python

Inlägg av Lars »

Det beror väl på. Loggade fel behöver ju inte bero på programmeringsfel, vanligare är kanske att det beror på fel i indata. Program som körs interaktivt behöver väl knappast loggning heller, det är mest sådant som körs i bakgrunden som behöver ett sätt att rapportera fel på.
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Använda modulen 'logging' i python

Inlägg av Victor »

Okej.. Men mitt program är ju interaktivt (terminalen) så då behövs det kanske inte en loggfil..(?)
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Användarvisningsbild
Galgalid
Inlägg: 1646
Blev medlem: 08 dec 2006, 12:30

SV: Använda modulen 'logging' i python

Inlägg av Galgalid »

nope, skulle inte tro det :)
Skriv svar

Återgå till "Programmering och webbdesign"