this link has a couple of screenshots and an explanation that can help:
basically, SSIS has a built in error logging mechanism, and you can have it write to one or more locations, including a specific database.
so you could have it write to a file, a databas eand the windows event log, all at the same time.
Inside the script task itself, you can raise errors via code for "logical errors", or to log more detaila bout the error to help with debugging.
a crappy example below:
try
{
//--doing a bunch of work here
if(Datatable.Rows.Count==0)
{
//Raise my own logical event
Dts.Events.FireError(0, "Error in proc ProcessSpecialCSVFiles: ", "The datatable returned Zero Rows, when the expectation is there is always data, "", 0);
}
return true;
}
//catch all errors and log them!
catch (Exception ex)
{
Dts.Events.FireError(0, "Error in proc ProcessSpecialCSVFiles: ", ex.Message, "", 0);
return false;
}
Lowell