Hej! Du borde kanske vända på frågan. Vad behöver ni för loggning och utifrån detta svar välja en modell. Det finns ju ganska många sätt att göra det på, ja till och med bara köra trace.write och trace.warn på valda ställen i codebehind och klasser då trace slås av/på exempelvis via web.config fungerar ju faktiskt. "Just nu tycker jag log4net verkar vara ett strå vassare. Det finns fler konfigurationsmöjligheter såsom ange vilken nivå på loggningen" Tack för svaren! Japps, System.Diagnostics med Trace och Debug är absolut ett alternativ till log4net och MS ApplicationBlocks. Jag skulle absolut säga att Trace/Debug är fullt tillräckligt!loggning
Jag vet inte om jag hamnat i rätt forum....Hursomhelst mitt problem är att vi skall bygga en ny applikation och en av byggstenarna är loggning. Vi har kommit fram till att antingen använda Micrsoft Applications Blocks för loggning eller log4net. Eftersom vi saknar referensramar kring vilket som är bäst skulle det vara fint om någon skulle vilja ge lite feedback kring detta.
Just nu tycker jag log4net verkar vara ett strå vassare. Det finns fler konfigurationsmöjligheter såsom ange vilken nivå på loggningen (t.ex. logga med DEBUG eller INFO osv.) samt slå på och av loggning för enskilda klasser.
..Anders Sv: loggning
Sv: loggning
Glöm inte att det finns TraceSwitchar i dem rena .NET-klasserna med där du kan ange prioritet på dina Trace-meddelanden.
Du ställer då i web.config in vilkan nivå du vill ska gälla med: 0 = Off, 1 = error, 2 = warning, 3 = info eller 4 = verbose.
<system.diagnostics><switches>
<add name="TraceLevel" value = "3" />
</switches></system.diagnostics>
Ett exempel i koden kan du vara:
Dim ts as new traceSwitch("TraceLevel", "My TraceLevel")
Trace.WriteLineIf(ts.traceInfo, "Visa info-meddelande")
Trace.WriteLineIf(ts.traceVerbose, "Visa väldigt detaljerade meddelande")
Det finns en artikel med exempel på:
http://www.swesecure.com/?ID=5df7c18d-d538-4e4c-9768-0c7760808d19&IID=15d486eb-f8e4-46ee-a5b5-fb82b7204b3e
//FredrikSv: loggning
Tycker ni att System.Diagnostics är fullt tillräckling för att användas till ett relativt stort projekt? Tanken är att logga både till databas, till fil och eventuellt till EventLoggern? (Jag inser att jag blir tvungen att skriva en egen appender om jag skall logga till databasen.) Jag vill kunna logga, för ett fel, call stacken, vilken metod och givetvis felmeddelandet och felgraden som genererade loggningen.
Jag är fortfarande kanske lite för mycket en anhängare av log4net men det känns som den klarar av sådana här loggningar bättre samt att det redan finns en ado appender. Sv:loggning
Genom att skriva egna TraceListeners kan du på ett mycket enkelt sätt "Hooka" på de Trace-meddelanden som skrivs och själv ta hand om dem. På detta sätt kan du logga dina Trace i mail/sms/event osv osv, det är fullt flexibelt.
En artikel som just tar upp egna Tracelistners finns här:
http://www.swesecure.com/?ID=5df7c18d-d538-4e4c-9768-0c7760808d19&IID=80543579-d711-44f8-ac1b-cbed0f175370
Angående att logga "Call Stack".en så kom ihåg att den bara är tillgänglig i debug-läge och inte när du kör "skarpt" (har jag bestämt för mig).
//Fredrik