有谁知道是否可以通过log4net登录SSIS(SQL Server Integration Services)?如果是这样,任何指针和陷阱都要注意?如何部署故事?
我知道我的问题的最佳解决方案是不使用SSIS.现实情况是,尽管我讨厌这种POS技术,但我工作的公司鼓励使用这些应用而不是编写代码.咩.
所以回答我自己的问题:这是可能的。我不确定我们的部署情况如何,因为这将在几周后完成。
我几乎从这些来源获取了信息并使其发挥作用。这一篇解释了如何使引用程序集与 SSIS 一起使用,请单击此处。TLDR 版本:将其放入 GAC 中,并将 dll 复制到目标框架的文件夹中。就我而言,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727。为了以编程方式配置 log4net,我最终使用此链接作为参考。
这是我的记录器配置代码,用于创建带有时间戳的文件:
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");
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助将来的人,或者至少可以作为我需要再次这样做的参考。
| 归档时间: |
|
| 查看次数: |
3166 次 |
| 最近记录: |