- Log always using SSIS logging mechanism
- Do not reinvent logging mechanism using any manual methods even in C# script tasks
- Script task to log into SSIS logging stream
- Inject the log destination from invoking platform. This will help to correlate the SSIS logs with other application logs.
- eg: If the SSIS is invoked from C# application let the C# provide the logging connection string.
- Better log all the events and point to database as logging store.
- Have periodic routine to cleanup the logs.
Above are the best practices as of my understanding and experience with SSIS. Sorry to say that, I cannot guarantee that it will work for all.