Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
web服务中的log4net问题_Log4net - Fatal编程技术网

web服务中的log4net问题

web服务中的log4net问题,log4net,Log4net,我们在UI层中成功地使用了log4net,但当我们在Webservice层中进行测试时,它不起作用 以下是UI层中的代码: public分部类\u默认值:System.Web.UI.Page { iloglogger=log4net.LogManager.GetLogger(typeof(_默认值)); 受保护的无效页面加载(对象发送方、事件参数e) { ServiceReference1.IService1 is1=新的ServiceReference1.Service1Client(); i

我们在UI层中成功地使用了log4net,但当我们在Webservice层中进行测试时,它不起作用

以下是UI层中的代码:

public分部类\u默认值:System.Web.UI.Page
{
iloglogger=log4net.LogManager.GetLogger(typeof(_默认值));
受保护的无效页面加载(对象发送方、事件参数e)
{
ServiceReference1.IService1 is1=新的ServiceReference1.Service1Client();
is1.GetData(1);
Info(“您好,谢谢您使用Log4Net,这里是Info message”);
Debug(“您好,感谢使用Log4Net,这是调试消息”);
Error(“Hello Nine感谢使用Log4Net,这是错误消息”);
logger.Warn(“您好,谢谢使用Log4Net,这是警告消息”);
Fatal(“您好,谢谢您使用Log4Net,这是致命消息”);
}
}

以下是UI层的web.config设置:



以下是ServiceLayer中不起作用的代码,尽管在大多数情况下与上述代码相同:

公共类服务1:IService1
{
公共字符串GetData(int值)
{
ILog logger=log4net.LogManager.GetLogger(typeof(Service1));
Info(“您好,谢谢您使用Log4Net,这里是Info message”);
Debug(“您好,感谢使用Log4Net,这是调试消息”);
Error(“Hello Nine感谢使用Log4Net,这是错误消息”);
logger.Warn(“您好,谢谢使用Log4Net,这是警告消息”);
Fatal(“您好,谢谢您使用Log4Net,这是致命消息”);
返回string.Format(“您输入:{0}”,value);
}
}
如果你有任何建议,请告诉我。 谢谢
N

例如,您是否通过在web服务中具有如下属性来配置log4net:

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

我刚刚在AssemblyInfo.cs中手动添加了此属性:

[程序集:log4net.Config.XmlConfigurator(Watch=true)]

它起作用了。
谢谢。

只需在服务项目的web配置文件中添加以下程序集

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

谢谢Stefan的回复。我在类和方法中都这样添加了它,但不确定您的意思是:[assembly:log4net.Config.XmlConfigurator(Watch=true)]公共类服务1:IService1{[assembly:log4net.Config.XmlConfigurator(Watch=true)]公共字符串GetData(int值){但是没有一个luckI认为如何使用程序集级属性是很清楚的……但是您似乎已经了解了它是如何工作的。不是在web配置中,而是在AssemblyInfo.cs中,如前所述。