log4net不会为引用的项目文件创建日志文件

时间:2010-07-12 17:40:32

标签: c# log4net dependencies logging

我正在构建一个调用已编译可执行文件的应用程序。所述可执行文件的源代码项目文件由父应用程序的解决方案文件引用。子可执行文件是一个独立的命令行应用程序。父实际上是控制台应用程序的GUI包装器。当我编译控制台应用程序时,我可以访问已构建到应用程序中的所有log4net功能。但是,当我编译引用控制台应用程序的源代码文件的父项目时,一切都正常运行但没有生成日志。什么会导致此错误发生,以及如何解决此问题? log4net的内部调试机制不会抛出任何消息。

2 个答案:

答案 0 :(得分:5)

要使log4net开始在引用的程序集中进行日志记录,您必须:

  • 通过在应用程序启动时调用Configure()或将log4net.Config.XmlConfigurator.Configure()添加到包装器应用程序的[assembly: log4net.Config.XmlConfigurator(Watch=true)]文件中来调用log4net的AssemblyInfo.cs函数。
  • 如果您还没有在GUI包装器的app.config中创建一个log4net配置部分。将app.config文件添加到项目中,并将引用的库中的log4net配置信息复制到其中。
  • 确保运行应用程序的帐户有权在日志目录中编写和创建文件(假设您使用基于文件的日志记录)。

有关设置配置的详细信息,请参阅:http://logging.apache.org/log4net/release/manual/configuration.html

答案 1 :(得分:1)