Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Objekten My.Application.Log och My.Log gör det enkelt att skriva loggnings- och spårningsinformation till loggar.
Så här loggas meddelanden
Först kontrolleras meddelandets allvarlighetsgrad genom Switch attributet i loggens TraceSource attribut. Som standard skickas endast meddelanden med allvarlighetsgrad "Information" och högre till spårningslyssnare TraceListener , som anges i loggsamlingen. Varje lyssnare jämför sedan meddelandets allvarlighetsgrad med lyssnarens Switch egenskap. Om meddelandets allvarlighetsgrad är tillräckligt hög skriver lyssnaren ut meddelandet.
Följande diagram visar hur ett meddelande som skrivs till WriteEntry metoden skickas till WriteLine metoderna för loggens spårningslyssnare:
Du kan ändra beteendet för loggen och spårningslyssnare genom att ändra programmets konfigurationsfil. Följande diagram visar korrespondensen mellan delarna i loggen och konfigurationsfilen.
Där meddelanden loggas
Om sammansättningen inte har någon konfigurationsfil skrivs objekten My.Application.Log och My.Log till programmets felsökningsutdata (via DefaultTraceListener klassen). Dessutom skriver My.Application.Log-objektet till assemblyns loggfil (genom FileLogTraceListener-klassen), medan My.Log-objektet skriver till utdata på ASP.NET-webbsidan (genom WebPageTraceListener-klassen).
Felsökningsutdata kan visas i Visual Studio-utdatafönstret när du kör programmet i felsökningsläge. Öppna fönstret Utdata genom att klicka på menyalternativet Felsöka , peka på Windows och sedan klicka på Utdata. I fönstret Utdata väljer du Felsöka i rutan Visa utdata från .
Som standardinställning My.Application.Log skriver loggfilen i sökvägen för användarens programdata. Du kan hämta sökvägen från egenskapen FullLogFileName för DefaultFileLogWriter-objektet. Sökvägens format är följande:
BasePath\CompanyName\ProductName\ProductVersion
Ett typiskt värde för BasePath är följande.
C:\Dokument och inställningar\username\Programdata
Värdena för CompanyName, ProductNameoch ProductVersion kommer från programmets sammansättningsinformation. Formen på loggfilens namn är AssemblyName.log, där AssemblyName är filnamnet för sammansättningen utan tillägget. Om mer än en loggfil behövs, till exempel när den ursprungliga loggen inte är tillgänglig när programmet försöker skriva till loggen, är formuläret för loggfilens namnAssemblyName-iteration-.log, där iteration är en positiv Integer.
Du kan åsidosätta standardbeteendet genom att lägga till eller ändra datorns och programmets konfigurationsfiler. Mer information finns i Genomgång: Ändra var my.application.log skriver information.
Konfigurera logginställningar
Objektet Log har en standardimplementering som fungerar utan en programkonfigurationsfil app.config. Om du vill ändra standardinställningarna måste du lägga till en konfigurationsfil med de nya inställningarna. Mer information finns i Genomgång: Filtrera My.Application.Log-utdata.
Loggkonfigurationsavsnitten finns i <system.diagnostics>-noden som är i huvudnoden <configuration> i app.config-filen. Logginformation definieras i flera noder:
Lyssnarna för objektet
Logdefinieras i<sources>noden som heter DefaultSource.Allvarlighetsgradsfiltret för
Logobjektet definieras i<switches>noden med namnet DefaultSwitch.Logglyssnare definieras i
<sharedListeners>noden.
Exempel på <sources>, <switches>och <sharedListeners> noder visas i följande kod:
<configuration>
<system.diagnostics>
<sources>
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"
/>
</sharedListeners>
</system.diagnostics>
</configuration>
Ändra logginställningar efter distribution
När du utvecklar ett program lagras dess konfigurationsinställningar i filen app.config, som du ser i exemplen ovan. När du har distribuerat programmet kan du fortfarande konfigurera loggen genom att redigera konfigurationsfilen. I ett Windows-baserat program är filens namn applicationName.exe.configoch måste finnas i samma mapp som den körbara filen. För ett webbprogram är det här den Web.config fil som är associerad med projektet.
När programmet kör koden som skapar en instans av en klass för första gången, kontrollerar det konfigurationsfilen för information om objektet. För objektet Log sker detta första gången objektet Log används. Systemet undersöker konfigurationsfilen bara en gång för ett visst objekt – första gången programmet skapar objektet. Därför kan du behöva starta om programmet för att ändringarna ska börja gälla.
I ett distribuerat program aktiverar du spårningskod genom att konfigurera om växelobjekt innan programmet startar. Detta innebär vanligtvis att aktivera och inaktivera växelobjekten eller genom att ändra spårningsnivåerna och sedan starta om programmet.
Säkerhetshänsyn
Tänk på följande när du skriver data till loggen:
Undvik att läcka användarinformation. Se till att ditt program endast skriver godkänd information till loggen. Det kan till exempel vara acceptabelt att programloggen innehåller användarnamn, men inte användarlösenord.
Skydda loggplatser. Alla loggar som innehåller potentiellt känslig information ska lagras på en säker plats.
Undvik vilseledande information. I allmänhet bör ditt program verifiera alla data som angetts av en användare innan du använder dessa data. Detta inkluderar att skriva data till programloggen.
Undvik överbelastningsattack. Om ditt program skriver för mycket information till loggen kan det fylla loggen eller göra det svårt att hitta viktig information.