Azure AppInsight с Log4Net

Я пытался писать журналы (трассировка, информация и исключения) в Azure AppInsights, используя Log4Net вместо клиента телеметрии api по умолчанию. Когда я запускаю приложение из VS2013, я не получаю сообщений об ошибках и не вижу журналов на портале Azure.

Мольбы помогите мне разобраться в этой проблеме.

Примечание. Я использую приложение Log4net для AppIinsights. Web.Config

 <log4net>
<root>
  <level value="ALL" />
  <appender-ref ref="aiAppender" />
</root>
<appender name="aiAppender" type="Microsoft.ApplicationInsights.Log4NetAppender.ApplicationInsightsAppender, Microsoft.ApplicationInsights.Log4NetAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%message%newline" />
  </layout>
</appender>

MVC Controller

public class HomeController : Controller
{

    private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

    public ActionResult Index()
    {
        //Trace.TraceInformation("Home accessed at : {0}", DateTime.UtcNow);
        Log.Info(string.Format("Home accessed at : {0}", DateTime.UtcNow));
        return View();
    }
}

С уважением, Раджарам.


person Rajaram Kumaraguru    schedule 11.01.2016    source источник
comment
Можете ли вы поделиться соответствующим кодом?   -  person David Rushton    schedule 11.01.2016


Ответы (2)


Если вы не видите каких-либо выходных данных log4net, я предполагаю, что вам не хватает кода запуска log4net, например:

log4net.Config.XmlConfigurator.Configure();

который вам может понадобиться в вашем стартовом классе / коде где-нибудь. Без этого log4net не знает, как читать конфигурацию из web.config.

person John Gardner    schedule 27.01.2016

В дополнение к ответу от @JohnGardner вы можете вместо этого добавить строку в свой файл AssemblyInfo.cs следующим образом: -

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

Более подробно эти два подхода обсуждаются в следующем вопросе:

Настройте Log4Net в веб-приложении

И в комментарии где-то в этом обсуждении есть ссылка на часто задаваемые вопросы о log4net, в которых затрагиваются различия в вопросе «Когда мне следует регистрировать свое первое сообщение?»: -

https://logging.apache.org/log4net/release/faq.html#first-log

Я обнаружил, что оба они пригодятся мне в дальнейшем.

person Wayne Birch    schedule 18.08.2016