Logování

Tato kapitola popisuje možnosti logování běhu SecuSign SiDK a jak je nastavit. Vhodné nastavení logování s výhodou poslouží pro odstranění chyb, zejména na testovacím prostředí.

Technické logování

Kompletní technické logování zaznamenává veškeré informace o operacích, metodách, vstupech a výstupech či výjimkách, které byly použity, resp. nastaly, při volání webových služeb SecuSign SDK. Dále obsahuje také konfigurační nastavení produktu a záznamy o využití jednotlivých komponent.

Nastavení technického logování

Technické logování se nastavuje v konfiguračním souboru webové služby InstallDir\WebService\Web.config.

V elementu <appSettings> a klíči DebugLogPath se jako hodnota uvede cesta k .log souboru. Je nutné, aby LOG soubor byl přístupný pro zápis uživateli, pod kterým běží aplikační pool webové služby SecuSign.

Příklad zápisu v konfiguračním souboru (elementy configuration a appSettings bývají již vytvořené):

<configuration>
    <appSettings>
        …
        <add key="DebugLogPath" value="C:\Logs\SecuSign_debug.log" />
        …
    </appSettings>
</configuration>

Úroveň technického logování lze nastavit pomocí klíče:

<add key="DebugLogLevel" value="_N_" />

Hodnoty parametru N pro nastavení úrovně jsou definované následovně:

  • Trace = 6

  • Debug = 5

  • Info = 4

  • Warning = 3

  • Error = 2

  • Critical = 1

  • None = 0.

Fragmentace technického logování

Technické logování do souboru je možné fragmentovat – záznamy rozdělit po jednotlivých dnech. K tomu slouží konfigurační klíč DebugLogFragments (jeho výchozí hodnota je 0). Pokud je nastavena hodnota vyšší než 0, rozděluje se LOG po dnech dle zvolené hodnoty a s tím, že se ponechávají vždy nejnovější log soubory.

Příklad: Když je nastavena hodnota DebugLogFragments na 14 (dnů), potom log z 15. dne vymaže (nahradí) log z 1. dne atd.

Výchozí maska DebugLogFragments souboru je yyyy-MM-dd (příklad SecuSignSDK_2020-07-10.log). Masku lze nastavit pomocí klíče DebugLogFragmentsMask.

Provozní logování

Provozní logování obsahuje hlavní a podstatné informace o provozu na webových službách SecuSign SDK jako jsou Datum a čas volání, ID procesu, ID vlákna, IP adresa volajícího, Uživatelské jméno volajícího (pokud se v hlavičce identifikoval), Dobu trvání procesu, Název volané metody a Doplňující informace (Výsledek volání).

Nastavení provozního logování

Nastavuje se v konfiguračním souboru webové služby InstallDir\WebService\Web.config.

V elementu <appSettings> se vytvoří nový klíč s názvem LogMethodCalls, ve kterém se jako hodnota uvede cesta k CSV souboru. Je nutné, aby CSV soubor byl přístupný pro zápis uživateli, pod kterým běží aplikační pool webové služby SecuSign.

Příklad zápisu v konfiguračním souboru (elementy configuration a appSettings bývají již vytvořené):

<configuration>
    <appSettings>
        …
        <add key="LogMethodCalls" value="C:\Logs\SecuSign_provoz.csv" />
        …
    </appSettings>
</configuration>

Provozní logování je možné pomocí konfiguračního klíče LogMethodCallsIO rozšířit o další informace. Pokud je nastaveno provozní logování webové služby pomocí LogMethodCalls, nastavením LogMethodCallsIO na true se do CSV souboru přidají informace se jménem souboru, velikostí souboru, hashem vstupního a hashem výstupního souboru.

<configuration>
    <appSettings>
        …
        <add key="LogMethodCallsIO" value="true " />
        …
    </appSettings>
</configuration>

Pro identifikaci requestu v technickém logu a CSV logu je implementována možnost pomocí rozlišení klíče. Jedná se o identifikaci requestu pomocí JobID, které je buď dodané ve volání v http header X-JobID nebo se náhodně generuje.

Pro identifikaci slouží klíč:

<configuration>
    <appSettings>
        …
        <add key=" <add key="LogMethodCallsJobID" value="true" />
        …
    </appSettings>
</configuration>