首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4net xmlconfigurator.configure需要使用dll嵌入的xml文件。

log4net xmlconfigurator.configure需要使用dll嵌入的xml文件。
EN

Stack Overflow用户
提问于 2017-03-02 13:47:08
回答 1查看 1.4K关注 0票数 2

我正在创建一个控制台应用程序(exe),并尝试使用log4net记录错误。如果我在main方法中给出了下面的任何命令,那么记录器就能正常工作:

代码语言:javascript
复制
XmlConfigurator.Configure(new FileInfo(@"filepath\log4net.config")); 

代码语言:javascript
复制
using (FileStream fs = new FileStream("..\\..\\log4net.config",FileMode.Open))
              { XmlConfigurator.Configure(fs); }

但我需要单独保存log4net.config文件。所以我的问题是-如何在我的main方法中引用log4net.config文件(嵌入在exe中)来启用记录器,以便除了exe文件之外不需要单独的log4net配置文件?这使得将可执行文件单独移动到其他机器上变得更容易。

注意: log4net.config文件是可执行文件中嵌入的资源。

EN

回答 1

Stack Overflow用户

发布于 2017-03-02 19:13:35

要从嵌入式文件加载配置,最好的方法是使用overload of Configure that takes a stream,例如:

代码语言:javascript
复制
 var assembly = Assembly.GetExecutingAssembly(); // or GetEntryAssembly()
 var resourceName = "log4net.config";

 using (Stream stream = assembly.GetManifestResourceStream(resourceName))
 {
        XmlConfigurator.Configure(stream);
 }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42547720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档