Para responder a mi propia pregunta: es posible. No estoy seguro de cómo será nuestra historia de implementación, ya que esto se hará dentro de unas semanas.
Bastante tomé la información de estas fuentes y lo hice funcionar. Éste explica cómo hacer que los ensambles de referencia funcionen con SSIS, click here. Versión de TLDR: colóquela en el GAC y también copie el dll en la carpeta de su marco de destino. En mi caso, C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727. Para configurar programáticamente log4net terminé usando this link como referencia.
Así es como mi código de configuración del registrador se ve como para la creación de un archivo con la fecha y hora en la que:
using log4net;
using log4net.Config;
using log4net.Layout;
using log4net.Appender;
public class whatever
{
private ILog logger;
public void InitLogger()
{
PatternLayout layout = new PatternLayout("%date [%level] - %message%newline");
FileAppender fileAppenderTrace = new FileAppender();
fileAppenderTrace.Layout = layout;
fileAppenderTrace.AppendToFile = false;
// Insert current date and time to file name
String dateTimeStr = DateTime.Now.ToString("yyyyddMM_hhmm");
fileAppenderTrace.File = string.Format("c:\\{0}{1}", dateTimeStr.Trim() ,".log");
// Configure filter to accept log messages of any level.
log4net.Filter.LevelMatchFilter traceFilter = new log4net.Filter.LevelMatchFilter();
traceFilter.LevelToMatch = log4net.Core.Level.All;
fileAppenderTrace.ClearFilters();
fileAppenderTrace.AddFilter(traceFilter);
fileAppenderTrace.ImmediateFlush = true;
fileAppenderTrace.ActivateOptions();
// Attach appender into hierarchy
log4net.Repository.Hierarchy.Logger root = ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root;
root.AddAppender(fileAppenderTrace);
root.Repository.Configured = true;
logger = log4net.LogManager.GetLogger("root");
}
}
Esperamos que esto podría ayudar a alguien en el futuro o, al menos, servir de referencia si alguna vez necesito haz esto de nuevo
Por qué no utilizar las muchas opciones integradas en SSIS para el registro? –
No los he probado yo mismo. Pero los paquetes anteriores hechos por otras personas aquí generaron registros inútiles. Supongo que podría intentarlo por el momento, pero ser capaz de usar los poderes de l4n sería increíble. – enriquein
Entonces, después de implementar el registro de SSIS en un archivo de texto, puedo concluir que 1) el formato es bastante feo. 2) la información importante siempre está al final de la línea. 3) el archivo de registro se sigue adjuntando, nunca se sobrescribe (que es lo que necesitamos). También siento que no es tan flexible como a uno le gustaría. Este es probablemente otro ejemplo de que Microsoft está pensando en lo que un cliente podría desear en lugar de preguntar directamente a los clientes qué es lo que realmente necesitan. – enriquein