Loggning i skriptuppgift

Gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Användningen av loggning i Integration Services-paket låter dig registrera detaljerad information om exekveringsframsteg, resultat och problem genom att registrera fördefinierade händelser eller användardefinierade meddelanden för senare analys. Script-uppgiften kan använda LogDts-objektets metod för att logga användardefinierad data. Om loggning är aktiverad och ScriptTaskLogEntry-händelsen väljs för loggning på fliken Detaljer i dialogrutan Konfigurera SSIS-loggar , lagrar ett enda anrop till Log metoden händelseinformationen i alla loggleverantörer som är konfigurerade för uppgiften.

Note

Även om du kan logga direkt från din Script-uppgift, kan du överväga att implementera händelser istället för att logga. När du använder händelser kan du inte bara aktivera loggning av händelsemeddelanden, utan du kan också svara på händelsen med standard- eller användardefinierade händelsehanterare.

För mer information om loggning, se Integration Services (SSIS) Logging.

Exempel på skogsavverkning

Följande exempel visar loggning från Script-uppgiften genom att logga ett värde som representerar antalet rader som behandlats.

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

}