Protokolování v úloze skriptu

Platí pro:SQL Server SSIS Integration Runtime v rámci Azure Data Factory

Použití logování v balíčcích Integration Services umožňuje zaznamenávat podrobné informace o průběhu provádění, výsledcích a problémech zaznamenáváním předdefinovaných událostí nebo uživatelsky definovaných zpráv pro pozdější analýzu. Skriptní úloha může použít metodu Log objektu Dts k zaznamenání uživatelsky definovaných dat. Pokud je logování povoleno a na záložce Details v dialogovém okně Configure SSIS Logs je pro přihlášení vybrána událost ScriptTaskLogEntry, jedno volání Log metody uloží informace o události do všech poskytovatelů logů nastavených pro danou úlohu.

Note

Ačkoliv můžete logovat přímo ze skriptové úlohy, možná byste měli zvážit implementaci událostí místo logování. Při použití událostí můžete nejen povolit zaznamenávání zpráv o událostech, ale také na událost reagovat pomocí výchozích nebo uživatelsky definovaných obslužných nástrojů.

Pro více informací o logování viz Integration Services (SSIS) logování.

Příklad logování

Následující příklad ukazuje logování ze skriptové úlohy logováním hodnoty reprezentující počet zpracovaných řádků.

Public Sub Main()  
  
    Dim rowsProcessed As Integer = 100  
    Dim emptyBytes(0) As Byte  
  
    Try  
        Dts.Log("Rows processed: " & rowsProcessed.ToString, _  
            0, _  
            emptyBytes)  
        Dts.TaskResult = ScriptResults.Success  
    Catch ex As Exception  
        'An error occurred.  
        Dts.Events.FireError(0, "Script Task Example", _  
            ex.Message & ControlChars.CrLf & ex.StackTrace, _  
            String.Empty, 0)  
        Dts.TaskResult = ScriptResults.Failure  
    End Try  
  
End Sub  
using System;  
using System.Data;  
using Microsoft.SqlServer.Dts.Runtime;  
  
public class ScriptMain  
{  
  
    public void Main()  
        {  
            //  
            int rowsProcessed = 100;  
            byte[] emptyBytes = new byte[0];  
  
            try  
            {  
                Dts.Log("Rows processed: " + rowsProcessed.ToString(), 0, emptyBytes);  
                Dts.TaskResult = (int)ScriptResults.Success;  
            }  
            catch (Exception ex)  
            {  
                //An error occurred.  
                Dts.Events.FireError(0, "Script Task Example", ex.Message + "\r" + ex.StackTrace, String.Empty, 0);  
                Dts.TaskResult = (int)ScriptResults.Failure;  
            }  
  
        }  

}