首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web服务中的Log4net

web服务中的Log4net
EN

Stack Overflow用户
提问于 2014-01-07 16:22:11
回答 1查看 2.2K关注 0票数 2

我基本上有一个问题

log4net只在调用XmlConfigurator.Configure()时才能工作

然而,我不能在那里发表评论,因为我没有任何声誉(刚刚签约)。

感谢任何有帮助的评论。如果我在这里做错了什么,请告诉我。非常感谢。贝恩德

更新:谢谢有建设性的提示。我已经取得了一些进展,因此将更详细地解释:我在一个(VS生成的log4net web服务)中使用C#。我确实在调试文件中获得了调试信息,但是在VS (2012)中,我确实得到了每个日志记录调用的消息:

代码语言:javascript
复制
log4net:ERROR An exception ocurred while retreiving stack frame information.
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
     bei log4net.Core.StackFrameItem..ctor(StackFrame frame)

我通过XML配置了它:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<log4net>  
  <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="Logs/debug.log" />
    <encoding value="utf-8" />
    <appendToFile value="true" />
    <maximumFileSize value="10MB" />
    <maxSizeRollBackups value="2" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level (%class#%method:%line):%message%newline" />
    </layout>
  </appender>
  <root>
    <level value="DEBUG" />    
    <appender-ref ref="RollingFile" />
  </root>
</log4net>

我的web服务如下所示:

代码语言:javascript
复制
public class ObjectInfo : IObjectInfo
{    
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);



    public void DoWork()        {
      Logging.LoggingUtil.InitializeLogging();
      log.Debug("Some message");
    }
}

希望这已经足够了。LoggingUtil类基本上如下所示:

代码语言:javascript
复制
private const String Log4NetConfigurationFilePath = "log4net-config.xml"; //real path looks somewhat different
public static void InitializeLogging()
{    
  XmlConfigurator.Configure(new FileInfo(Log4NetConfigurationFilePath));     
}

我想知道,问题是否在于无法在锡林中找到堆栈跟踪,因为微软不允许这样做,以保护它们对web服务的实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-08 12:48:05

正如在LOG4NET-393中解释的那样,当调用链中有一个动态方法时,就会发生此错误。

在那里,他们声称在版本> 1.2.12中修复了这个错误。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20976670

复制
相关文章

相似问题

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