使用log4net作为SSIS的日志记录机制?

时间:2010-04-29 14:31:12

标签: log4net ssis

有没有人知道是否可以通过log4net登录SSIS(SQL Server Integration Services)?如果是这样,任何指针和陷阱都要注意?如何部署故事?

我知道我的问题的最佳解决方案是不使用SSIS。现实情况是,尽管我讨厌这种POS技术,但我工作的公司鼓励使用这些应用而不是编写代码。 MEH。

2 个答案:

答案 0 :(得分:3)

所以回答我自己的问题:这是可能的。我不确定我们的部署故事将如何,因为这将在几周后完成。

我几乎从这些来源获取信息并使其有效。这个解释了如何使引用程序集与SSIS click here一起使用。 TLDR版本:将其放在GAC中,并将dll复制到目标框架的文件夹中。就我而言,C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727。为了以编程方式配置log4net,我最终使用this link作为参考。

这是我的记录器配置代码在创建带有时间戳的文件时的样子:

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

希望这可以帮助将来某人或至少作为参考,如果我再次需要这样做。

答案 1 :(得分:-2)

对不起,你没有深入挖掘。您可以登录5个不同的目的地,7个列可以选择包含或不包括在您的日志记录中,以及18到50个可以捕获登录的不同事件。您似乎已选择默认日志记录,并将其解除,因为它不适合您开箱即用 查看这两个博客,了解有关SSIS日志记录可以执行的操作的更多信息: http://consultingblogs.emc.com/jamiethomson/archive/2005/06/11/SSIS_3A00_-Custom-Logging-Using-Event-Handlers.aspx
http://www.sqlservercentral.com/blogs/michael_coles/archive/2007/10/09/3012.aspx