gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:02:38 25 4
gpt4 key购买 nike

有谁知道是否可以通过 log4net 登录 SSIS(SQL Server 集成服务)?如果是这样,有什么需要注意的提示和陷阱吗?部署故事如何?

我知道解决我的问题的最佳方法是不使用 SSIS。现实是,尽管我讨厌这种 POS 技术,但与我合作的公司鼓励使用这些应用程序而不是编写代码。嗯。

最佳答案

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

我几乎从这些来源获取信息并使其发挥作用。这个解释了如何使引用程序集与 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");
}
}

希望这可能会在将来对某人有所帮助,或者如果我需要再次执行此操作,至少可以作为引用。

关于log4net - 使用 log4net 作为 SSIS 的日志记录机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com