webForumDet fria alternativet

log4net o stack trace

.NET

4 svar · 568 visningar · startad av freguz

Medlem sedan feb. 2005280 inlägg
Frågan#1

Hej

Jag undrar helt enkelt bara en sak som jag inte kommer underfund med:

Varför loggar inte log4net stacktrace info med radnumret?

om jag i samma metod kör egen try/catch och loggar stacktrace så kommer radnumret med, precis som jag vill ha det.

Proj är byggt i debug mode, och även compilation="True" i web.config är satt.

Metoden är statisk, om det kan ha nån betydelse...

/Freguz

Medlem sedan maj 20012 812 inlägg
#2

För att man skall få med radnummer så måste du ha med .pdb-filerna. Men det bör du ju ha eftersom du ditt projekt i debug mode... Så det verkar mystiskt. Eller så är det någon inställning i log4net som spökar...

- M

Medlem sedan feb. 2005280 inlägg
#3

Gladh skrev:

För att man skall få med radnummer så måste du ha med .pdb-filerna. Men det bör du ju ha eftersom du ditt projekt i debug mode... Så det verkar mystiskt. Eller så är det någon inställning i log4net som spökar...

- M

Japp .pdb filer är med. Ska dyka ner i log4net inställningarna imorrn o kolla. Jag vet ju att log4net kör med lite sånadär typ "växlar" vad som ska synas, man ska tydligen ha med "line" eller ett "L" för att få med radnummer.

Men då läsar man på deras sajt följande:

Used to output the line number from where the logging request was issued.

WARNING Generating caller location information is extremely slow. Its use should be avoided unless execution speed is not an issue.

See the note below on the availability of caller location information.

http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.html

Nån som vet hur mycket slöare allt blir? Och är det felrendering bara som blir slö antar jag, det lär ju inte påverka sajten annars :OO

Medlem sedan maj 20012 812 inlägg
#4

frequz skrev:

Nån som vet hur mycket slöare allt blir? Och är det felrendering bara som blir slö antar jag, det lär ju inte påverka sajten annars

Det beror ju på hur mycket du loggar. Du har ju fler alternativ än att bara logga fel, du kan ju logga information och debug också. Och om du glömmer ändra loglevel när du går i produktion så kommer ju dessa också att loggas med radnummer...

- M

Medlem sedan feb. 2005280 inlägg
#5

Gladh skrev:

Det beror ju på hur mycket du loggar. Du har ju fler alternativ än att bara logga fel, du kan ju logga information och debug också. Och om du glömmer ändra loglevel när du går i produktion så kommer ju dessa också att loggas med radnummer...
- M

Bara errors som loggas. Då är det nog helt lugnt prestandamässigt.

Jag kom fram till att man ska köra med %F:%L för att få fram fil och radnummer :bire

*edit: upptäckte även att det går bra att bygga i Release mode och ändå få med fin stack trace med info om vilken fil och radnummer det hände på :h

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)