Sdílet prostřednictvím


Práce s protokoly aplikací v jazyce Visual Basic

Objekty My.Application.Log usnadňují My.Log zápis informací protokolování a trasování do protokolů.

Jak se protokolují zprávy

Nejprve je závažnost zprávy kontrolována vlastností Switch protokolu TraceSource . Ve výchozím nastavení se do naslouchacích procesů trasování zadané v kolekci protokolu TraceListener předávají pouze zprávy se závažností "Informace" a vyšší. Každý naslouchací proces pak porovná závažnost zprávy s vlastností naslouchacího Switch procesu. Pokud je závažnost zprávy dostatečně vysoká, naslouchací proces zprávu zapíše.

Následující diagram ukazuje, jak se do metody naslouchacího procesu trasování protokolu předá WriteLine zpráva zapsaná do WriteEntry metody:

Diagram that shows My log call.

Chování protokolu a naslouchacích procesů trasování můžete změnit změnou konfiguračního souboru aplikace. Následující diagram znázorňuje korespondenci mezi částmi protokolu a konfiguračním souborem.

Diagram that shows My log configuration.

Kde jsou zprávy zaprotokolovány

Pokud sestavení nemá žádný konfigurační soubor, My.Application.Log objekty a My.Log zapisují se do výstupu ladění aplikace (prostřednictvím DefaultTraceListener třídy). Kromě toho objekt My.Application.Log zapisuje do souboru protokolu sestavení (prostřednictvím FileLogTraceListener třídy), zatímco My.Log objekt zapisuje do výstupu ASP.NET webové stránky (prostřednictvím WebPageTraceListener třídy).

Výstup ladění je možné zobrazit v okně Výstup sady Visual Studio při spuštění aplikace v režimu ladění. Chcete-li otevřít okno Výstup , klepněte na položku nabídky Ladění , přejděte na příkaz Windows a klepněte na příkaz Výstup. V okně Výstup vyberte Možnost Ladit z pole Zobrazit výstup .

Ve výchozím nastavení My.Application.Log zapíše soubor protokolu do cesty k datům aplikace uživatele. Cestu můžete získat z FullLogFileName vlastnosti objektu DefaultFileLogWriter . Formát této cesty je následující:

BasePath\CompanyName\ProductName\ProductVersion

Typická hodnota je BasePath následující.

C:\Documents and Nastavení\username\Application Data

Hodnoty CompanyName, ProductNamea ProductVersion pocházejí z informací o sestavení aplikace. Forma názvu souboru protokolu je AssemblyName.log, kde AssemblyName je název souboru sestavení bez přípony. Pokud je potřeba více než jeden soubor protokolu, například pokud je původní protokol nedostupný, když se aplikace pokusí zapisovat do protokolu, je formulář pro název souboru protokolu iterace AssemblyName-.log, kde iteration je pozitivní .Integer

Výchozí chování můžete přepsat přidáním nebo změnou konfiguračních souborů počítače a aplikace. Další informace naleznete v tématu Návod: Změna umístění zápisu my.application.log informace.

Konfigurace Nastavení protokolu

Objekt Log má výchozí implementaci, která funguje bez konfiguračního souboru aplikace app.config. Pokud chcete výchozí hodnoty změnit, musíte přidat konfigurační soubor s novým nastavením. Další informace naleznete v tématu Návod: Filtrování výstupu My.Application.Log.

Oddíly konfigurace protokolu se nacházejí v <system.diagnostics> uzlu v hlavním <configuration> uzlu souboru app.config. Informace protokolu se definují v několika uzlech:

  • Naslouchací procesy pro Log objekt jsou definovány v <sources> uzlu s názvem DefaultSource.

  • Filtr závažnosti objektu Log je definován v <switches> uzlu s názvem DefaultSwitch.

  • Naslouchací procesy protokolů jsou definovány v <sharedListeners> uzlu.

<sources>Příklady , <switches>a <sharedListeners> uzlů jsou uvedeny v následujícím kódu:

<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>

Změna Nastavení protokolu po nasazení

Při vývoji aplikace se její nastavení konfigurace uloží do souboru app.config, jak je znázorněno v příkladech výše. Po nasazení aplikace můžete protokol přesto nakonfigurovat úpravou konfiguračního souboru. V aplikaci založené na systému Windows je název tohoto souboru applicationName.exe.config a musí se nacházet ve stejné složce jako spustitelný soubor. Pro webovou aplikaci se jedná o soubor Web.config přidružený k projektu.

Když vaše aplikace poprvé spustí kód, který vytvoří instanci třídy, zkontroluje konfigurační soubor informace o objektu. U objektu Log k tomu dojde při prvním přístupu k objektu Log . Systém zkontroluje konfigurační soubor pouze jednou pro libovolný konkrétní objekt – při prvním vytvoření objektu aplikace. Proto možná budete muset aplikaci restartovat, aby se změny projevily.

V nasazené aplikaci povolíte trasovací kód tak, že před spuštěním aplikace překonfigurujete objekty přepínače. Obvykle se jedná o zapnutí a vypnutí objektů přepínače nebo změnu úrovní trasování a následné restartování aplikace.

Aspekty zabezpečení

Při zápisu dat do protokolu zvažte následující skutečnosti:

  • Vyhněte se úniku informací o uživateli. Ujistěte se, že vaše aplikace zapisuje do protokolu jenom schválené informace. Může být například přijatelné, aby protokol aplikace obsahoval uživatelská jména, ale ne uživatelská hesla.

  • Zabezpečte umístění protokolů. Všechny protokoly, které obsahují potenciálně citlivé informace, by měly být uloženy v zabezpečeném umístění.

  • Vyhněte se zavádějícím informacím. Obecně platí, že aplikace by měla před použitím dat ověřit všechna data zadaná uživatelem. To zahrnuje zápis dat do protokolu aplikace.

  • Vyhněte se odepření služby. Pokud vaše aplikace zapisuje do protokolu příliš mnoho informací, může zaplnit protokol nebo ztěžovat hledání důležitých informací.

Viz také