Rejestrowanie i definiowanie wpisy dziennika w danych przepływu składnika
Składniki przepływ danych niestandardowych można zaksięgować wiadomości do istniejącego wpisu dziennika za pomocą PostLogMessage metoda IDTSComponentMetaData100 interfejs.One także przedstawić informacje do użytkownika, używając FireInformation metoda lub metod podobnych IDTSComponentMetaData100 interfejs.Jednakże podejście to wiąże się obciążenie podnoszenie i obsługa zdarzeń dodatkowe i wymusza na użytkowniku zapoznawanie pełne komunikaty informacyjne dla wiadomości, które mogą być przedmiotem ich zainteresowania.Można użyć wpisu dziennika niestandardowego opisane poniżej, zapewnienie użytkownikom składnika wyraźnie oznaczonych niestandardowe informacje dziennika.
Rejestrowanie i używanie wpisu dziennika niestandardowego
Zarejestrować wpis dziennika niestandardowego
Aby zarejestrować wpis dziennika niestandardowych do użytku przez składnik, należy zastąpić RegisterLogEntries metoda PipelineComponent klasy podstawowejW poniższym przykładzie rejestruje wpis dziennika niestandardowe i zawiera nazwę i opis.
using Microsoft.SqlServer.Dts.Runtime;
...
private const string MyLogEntryName = "My Custom Component Log Entry";
private const string MyLogEntryDescription = "Log entry from My Custom Component ";
...
public override void RegisterLogEntries()
{
this.LogEntryInfos.Add(MyLogEntryName,
MyLogEntryDescription,
Microsoft.SqlServer.Dts.Runtime.Wrapper.DTSLogEntryFrequency.DTSLEF_CONSISTENT);
}
Imports Microsoft.SqlServer.Dts.Runtime
...
Private Const MyLogEntryName As String = "My Custom Component Log Entry"
Private Const MyLogEntryDescription As String = "Log entry from My Custom Component "
...
Public Overrides Sub RegisterLogEntries()
Me.LogEntryInfos.Add(MyLogEntryName, _
MyLogEntryDescription, _
Microsoft.SqlServer.Dts.Runtime.Wrapper.DTSLogEntryFrequency.DTSLEF_CONSISTENT)
End Sub
DTSLogEntryFrequency Wyliczenia stanowi wskazówkę runtime o jak często będą rejestrowane zdarzenie:
DTSLEF_OCCASIONAL: Zdarzenie jest rejestrowane tylko czasami nie podczas każdego wykonywania.
DTSLEF_CONSISTENT: Zdarzenie jest rejestrowane stała liczbę razy podczas każdego wykonywania.
DTSLEF_PROPORTIONAL: Zdarzenie jest rejestrowane wielokrotnie proporcjonalny do ilości pracy wykonanej.
Przykład powyżej zastosowań DTSLEF_CONSISTENT , ponieważ składnik spodziewa się wpis raz na wykonanie.
Po rejestracji wpisu dziennika niestandardowych i dodawanie wystąpienie składnika niestandardowego, aby przepływ danych powierzchni projektanta, rejestrowania okno dialogowe w projektancie wyświetla nowy wpis dziennika o nazwie "Moje niestandardowe składnika wpis dziennika" na liście wpisów dziennika dostępne.
Rejestrowanie wpis dziennika niestandardowego
Po zarejestrowaniu wpis dziennika niestandardowego składnika teraz można rejestrować komunikaty niestandardowe.Poniższy przykład zapisuje wpis dziennika niestandardowego podczas PreExecute metoda, która zawiera tekst instrukcja języka SQL, używany przez składnik.
public override void PreExecute()
{
DateTime now = DateTime.Now;
byte[] additionalData = null;
this.ComponentMetaData.PostLogMessage(MyLogEntryName,
this.ComponentMetaData.Name,
"Command Sent was: " + myCommand.CommandText,
now, now, 0, ref additionalData);
}
Public Overrides Sub PreExecute()
Dim now As DateTime = DateTime.Now
Dim additionalData As Byte() = Nothing
Me.ComponentMetaData.PostLogMessage(MyLogEntryName, _
Me.ComponentMetaData.Name, _
"Command Sent was: " + myCommand.CommandText, _
now, now, 0, additionalData)
End Sub
Teraz, gdy użytkownik wykonuje pakiet, po wybraniu "Moje niestandardowe składnika wpis dziennika" w rejestrowania okno dialogowe Dziennik będzie zawierać wpis wyraźnie oznaczone jako "User::My niestandardowy składnik wpis dziennika." Ten nowy wpis dziennika zawiera tekst instrukcja języka SQL, sygnatura czasowa i wszelkie dodatkowe dane rejestrowane przez dewelopera.
|
Zobacz także