проблема с log4net в веб-сервисе - PullRequest
0 голосов
/ 27 октября 2011

Мы успешно используем log4net в нашем слое пользовательского интерфейса, но когда мы тестируем в слое Webservice, он не работает.

Вот код в UI Layer:

public partial class _Default : System.Web.UI.Page 
{

  ILog logger = log4net.LogManager.GetLogger(typeof(_Default));


  protected void Page_Load(object sender, EventArgs e)
  {
      ServiceReference1.IService1 is1 = new ServiceReference1.Service1Client();
      is1.GetData(1);

      logger.Info("Hello Nine Thanks for use Log4Net,This is info message");
      logger.Debug("Hello Nine Thanks for use Log4Net,This is Debug message");
      logger.Error("Hello Nine Thanks for use Log4Net,This is Error message");
      logger.Warn("Hello Nine Thanks for use Log4Net,This is Warn message");
      logger.Fatal("Hello Nine Thanks for use Log4Net,This is Fatal message");

  }
}

Вот настройки web.config для слоя пользовательского интерфейса:

<log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
  <param name="File" value="MyloggerSite2.log"/> <!-- This is logging in app root folder -->

        <param name="AppendToFile" value="true"/>
        <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-2p %c [%x] - %m%n"/>

        </layout>
    </appender>
    <root>
  <level value="All"/>
        <appender-ref ref="FileAppender"/>
    </root>
</log4net>

Вот код в ServiceLayer, который не работает, хотя для большинства он такой же, как и выше:

public class Service1 : IService1
{
    public string GetData(int value)
    {
        ILog logger = log4net.LogManager.GetLogger(typeof(Service1));

        logger.Info("Hello Nine Thanks for use Log4Net,This is info message");
        logger.Debug("Hello Nine Thanks for use Log4Net,This is Debug message");
        logger.Error("Hello Nine Thanks for use Log4Net,This is Error message");
        logger.Warn("Hello Nine Thanks for use Log4Net,This is Warn message");
        logger.Fatal("Hello Nine Thanks for use Log4Net,This is Fatal message");

        return string.Format("You entered: {0}", value);
    }
 }

Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения. Спасибо, N

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

Настраиваете ли вы, например, log4net, имея такой атрибут в вашем веб-сервисе:

[assembly: log4net.Config.XmlConfigurator(Watch=true)]
0 голосов
/ 20 марта 2013

Просто добавьте приведенную ниже сборку в файл веб-конфигурации проекта вашего сервиса.

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
0 голосов
/ 27 октября 2011

Я только что добавил этот атрибут вручную в AssemblyInfo.cs:

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

Это работает.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...