Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az útmutató bemutatja, hogyan módosíthatja az objektum alapértelmezett naplószűrését My.Application.Log , hogyan szabályozhatja, hogy az Log objektum milyen információkat ad át a figyelőknek, és milyen információkat írnak a figyelők. A naplózási viselkedést az alkalmazás létrehozása után is módosíthatja, mivel a konfigurációs adatokat az alkalmazás konfigurációs fájljában tárolja a rendszer.
Első lépések
Minden üzenethez, amit My.Application.Log ír, tartozik egy súlyossági szint, amelyet a szűrési mechanizmusok a naplókimenet szabályozására használnak. Ez a mintaalkalmazás metódusokkal My.Application.Log több különböző súlyossági szinttel rendelkező naplóüzenetet ír.
A mintaalkalmazás létrehozása
Nyisson meg egy új Visual Basic Windows-alkalmazásprojektet.
Gomb1 nevű gomb hozzáadása a Form1-hez.
Click A Button1 eseménykezelőjében adja hozzá a következő kódot:
' Activity tracing information My.Application.Log.WriteEntry("Entering Button1_Click", TraceEventType.Start) ' Tracing information My.Application.Log.WriteEntry("In Button1_Click", TraceEventType.Information) ' Create an exception to log. Dim ex As New ApplicationException ' Exception information My.Application.Log.WriteException(ex) ' Activity tracing information My.Application.Log.WriteEntry("Leaving Button1_Click", TraceEventType.Stop)Futtassa az alkalmazást a hibakeresőben.
Nyomja le a Button1 billentyűt.
Az alkalmazás a következő adatokat írja az alkalmazás hibakeresési kimenetére és naplófájljába.
DefaultSource Information: 0 : In Button1_ClickDefaultSource Error: 2 : Error in the application.Zárja be az alkalmazást.
Az alkalmazás hibakeresési kimeneti ablakának megtekintéséről további információt a Kimeneti ablak című témakörben talál. Az alkalmazás naplófájljának helyével kapcsolatos információkért lásd a Walkthrough: Hol írja a My.Application.Log az információkat .
Megjegyzés:
Alapértelmezés szerint az alkalmazás az alkalmazás bezárásakor kiüríti a naplófájl kimenetét.
A fenti példában a metódus második hívása WriteEntry és a metódus hívása WriteException naplókimenetet hoz létre, míg a metódus első és utolsó hívása
WriteEntrynem. Ennek az az oka, hogy aWriteEntryésWriteExceptionsúlyossági szintjei "Információ" és "Hiba", amelyek mindkettő engedélyezett aMy.Application.Logobjektum alapértelmezett naplószűrésében. A "Start" és a "Stop" súlyossági szinttel rendelkező események azonban nem képesek naplókimenetet generálni.
Szűrés minden My.Application.Log figyelő számára
Az My.Application.Log objektum egy SourceSwitch nevű DefaultSwitch-t használ annak szabályozására, hogy mely üzeneteket ad át a WriteEntry és WriteException metódusokból a naplófigyelőknek. Az alkalmazás konfigurációs fájljában úgy konfigurálhatja DefaultSwitch , hogy az értékét az SourceLevels enumerálási értékek egyikére állítja. Alapértelmezés szerint az értéke "Információ".
Ez a táblázat azt a súlyossági szintet mutatja, amely szükséges ahhoz, hogy a Log üzenetet írjon a hallgatóknak egy adott DefaultSwitch beállítás esetén.
| DefaultSwitch érték | A kimenethez szükséges üzenet súlyossága |
|---|---|
Critical |
Critical |
Error |
Critical vagy Error |
Warning |
Critical, Error vagy Warning |
Information |
Critical, Error, Warningvagy Information |
Verbose |
Critical, Error, Warning, Informationvagy Verbose |
ActivityTracing |
Start, Stop, Suspend, Resumevagy Transfer |
All |
Minden üzenet engedélyezett. |
Off |
Minden üzenet le van tiltva. |
Megjegyzés:
A WriteEntry és WriteException metódusoknak mindegyike rendelkezik egy túlterheléssel, amely nem határoz meg súlyossági szintet. A túlterhelés implicit súlyossági szintje WriteEntry "Információ", a túlterhelés implicit súlyossági szintje WriteException pedig "Hiba".
Ez a táblázat az előző példában látható naplókimenetet ismerteti: az "Információ" alapértelmezett DefaultSwitch beállításával csak a metódus második hívása WriteEntry és a metódus hívása WriteException hoz létre naplókimenetet.
Csak tevékenységkövetési események naplózása
Kattintson a jobb gombbal a app.config a Megoldáskezelőben , és válassza a Megnyitás lehetőséget.
-vagy-
Ha nincs app.config fájl:
A Projekt menüben válassza az Új elem hozzáadása lehetőséget.
Az Új elem hozzáadása párbeszédpanelen válassza az Alkalmazáskonfigurációs fájl lehetőséget.
Kattintson a Hozzáadás gombra.
Keresse meg a
<switches>szakaszt, amely a<system.diagnostics>szakaszban található, amely a felső szintű<configuration>szakaszban található.Keresse meg azt az elemet, amely
DefaultSwitch-t ad hozzá a kapcsolók gyűjteményéhez. Ennek az elemhez hasonlóan kell kinéznie:<add name="DefaultSwitch" value="Information" />Módosítsa az
valueattribútum értékét "ActivityTracing" értékre.A app.config fájl tartalmának az alábbi XML-fájlhoz hasonlónak kell lennie:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="ActivityTracing" /> </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>Futtassa az alkalmazást a hibakeresőben.
Nyomja le a Button1 billentyűt.
Az alkalmazás a következő adatokat írja az alkalmazás hibakeresési kimenetére és naplófájljába:
DefaultSource Start: 4 : Entering Button1_ClickDefaultSource Stop: 5 : Leaving Button1_ClickZárja be az alkalmazást.
Módosítsa az attribútum értékét "Információ" értékre
value.Megjegyzés:
A
DefaultSwitchkapcsolóbeállítás csakMy.Application.Logvezérlését irányítja. Ez nem változtatja meg a .NET System.Diagnostics.Trace és System.Diagnostics.Debug az osztályok viselkedését.
Egyéni szűrés a My.Application.Log-figyelőkhöz
Az előző példa bemutatja, hogyan módosíthatja az összes My.Application.Log kimenet szűrését. Ez a példa bemutatja, hogyan szűrhet egy adott naplófigyelőt. Alapértelmezés szerint egy alkalmazás két figyelővel rendelkezik, amelyek az alkalmazás hibakeresési kimenetére és a naplófájlra írnak.
A konfigurációs fájl vezérli a naplófigyelők viselkedését oly módon, hogy mindegyik számára lehetővé teszi a szűrő alkalmazását, amely hasonló a kapcsolóhoz My.Application.Log. A naplófigyelő csak akkor ad ki üzenetet, ha a napló és a naplófigyelő szűrője DefaultSwitch is engedélyezi az üzenet súlyosságát.
Ez a példa bemutatja, hogyan konfigurálhatja a szűrést egy új hibakeresési figyelőhöz, és hogyan adhat hozzá az Log objektumhoz. Az alapértelmezett hibakeresési figyelőt el kell távolítani az Log objektumból, így egyértelmű, hogy a hibakeresési üzenetek az új hibakeresési figyelőből származnak.
Csak tevékenységkövetési események naplózása
Kattintson a jobb gombbal a app.config a Megoldáskezelőben , és válassza a Megnyitás parancsot.
-vagy-
Ha nincs app.config fájl:
A Projekt menüben válassza az Új elem hozzáadása lehetőséget.
Az Új elem hozzáadása párbeszédpanelen válassza az Alkalmazáskonfigurációs fájl lehetőséget.
Kattintson a Hozzáadás gombra.
Kattintson a jobb gombbal a app.config a Megoldáskezelőben. Válassza a Megnyitás lehetőséget.
Keresse meg a
<listeners>szakaszt a<source>szakaszban, amely anameszakasz alatt található és a<sources>attribútuma "DefaultSource". A<sources>szakasz a<system.diagnostics>felső szintű<configuration>szakasz alatt található.Adja hozzá ezt az elemet a
<listeners>szakaszhoz:<!-- Remove the default debug listener. --> <remove name="Default"/> <!-- Add a filterable debug listener. --> <add name="NewDefault"/>Keresse meg a
<sharedListeners>szakaszt a<system.diagnostics>felső szintű<configuration>szakaszban.Adja hozzá ezt az elemet a szakaszhoz
<sharedListeners>:<add name="NewDefault" type="System.Diagnostics.DefaultTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" /> </add>A EventTypeFilter szűrő attribútumként az SourceLevels enumerálási értékek egyikét
initializeDataveszi fel.A app.config fájl tartalmának az alábbi XML-fájlhoz hasonlónak kell lennie:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Remove the default debug listener. --> <remove name="Default"/> <!-- Add a filterable debug listener. --> <add name="NewDefault"/> </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"/> <add name="NewDefault" type="System.Diagnostics.DefaultTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" /> </add> </sharedListeners> </system.diagnostics> </configuration>Futtassa az alkalmazást a hibakeresőben.
Nyomja le a Button1 billentyűt.
Az alkalmazás a következő adatokat írja az alkalmazás naplófájljába:
Default Information: 0 : In Button1_ClickDefault Error: 2 : Error in the application.Az alkalmazás kevesebb információt ír az alkalmazás hibakeresési kimenetére a szigorúbb szűrés miatt.
Default Error 2 ErrorZárja be az alkalmazást.
A naplóbeállítások üzembe helyezés utáni módosításáról további információt az Alkalmazásnaplók használata című témakörben talál.