다음을 통해 공유


스크립트 태스크에서 로깅

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

Integration Services 패키지에서 로깅을 사용하면 나중에 분석할 수 있도록 미리 정의된 이벤트 또는 사용자 정의 메시지를 기록하여 실행 진행률, 결과 및 문제에 대한 자세한 정보를 기록할 수 있습니다. 스크립트 태스크는 Dts 개체의 메서드를 사용하여 Log 사용자 정의 데이터를 기록할 수 있습니다. 로깅을 사용하도록 설정하고 SSIS 로그 구성 대화 상자의 세부 정보 탭에서 로깅을 위해 ScriptTaskLogEntry 이벤트를 선택한 경우 메서드에 Log 대한 단일 호출은 태스크에 대해 구성된 모든 로그 공급자에 이벤트 정보를 저장합니다.

참고 항목

스크립트 태스크에서 직접 로깅을 수행할 수도 있지만 로깅보다는 이벤트를 구현하는 것이 좋습니다. 이벤트를 사용하는 경우 이벤트 메시지 로깅을 사용하도록 설정할 수 있을 뿐만 아니라 기본 또는 사용자 정의 이벤트 처리기를 사용하여 이벤트에 응답할 수도 있습니다.

로깅에 대한 자세한 내용은 Integration Services(SSIS) 로깅을 참조하세요.

로깅 예제

다음 예에서는 처리된 행 수를 나타내는 값을 로깅하여 스크립트 태스크에서의 로깅을 보여 줍니다.

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

}

참고 항목

Integration Services(SSIS) 로깅