log4net卡住& WCF

时间:2011-09-06 22:13:55

标签: wcf log4net wcf-binding

我在企业系统中使用log4net,系统有三层:

  1. API
  2. 内部通知
  3. 与第三方集成:外部通知
  4. 这些层通过WCF(wsHttpBinding)相互通信,每层都有一个日志文件。 当我运行测试工作流程时,每个层都执行了他的工作,但记录器没有写任何东西。

    有什么想法吗?

2 个答案:

答案 0 :(得分:1)

以下是一些想法:

  1. 在每个级别,您是否有log4net.Config.XmlConfigurator.Configure(...)的电话?在大多数情况下,人们使用assembly属性在AssemblyInfo.cs / Program.cs / Global.asax.cs / etc中执行此操作。但您也可以在应用程序启动例程中的某处调用它。 请参阅此页面(“我应该何时记录我的第一条消息”):http://logging.apache.org/log4net/release/faq.html

  2. 如果您使用的是基于文件的日志记录,那么您在哪里尝试存储日志文件? - 目标目录是否存在,并且运行该层的用户帐户是否具有该文件夹的写入权限?对于Web应用程序,用户帐户是App Pool标识,对于Windows Services,用户帐户是运行该服务的Login。对于控制台和Windows应用程序,用户帐户可能是启动应用程序的用户。

  3. 如果所有其他方法都失败了,您可以打开log4net内部调试,这可能有所帮助:http://logging.apache.org/log4net/release/faq.html(“如何启用log4net内部调试”)

答案 1 :(得分:0)

我想您已在App.config个文件中配置了log4net?一个常见的错误是忘记在每层的启动代码中调用log4net.Config.XmlConfigurator.Configure()。如果这没有帮助,您需要向我们展示您的XML配置。