利用Log4net在Azure Application Insights上打印日志

1,概要

尝试利用Log4net在Azure Application Insights上打印日志的方法

2,环境

IDE:VisualStudio 2019

3,具体步骤

前提条件:项目的Azure Application Insights的相关设定完成

①    Nuget 包管理器控制台下安装下列相关包

Install-Package log4net
Install-Package Microsoft.ApplicationInsights.Log4NetAppender

②    Program.cs代码追加

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
            log4net.Config.XmlConfigurator.Configure();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging((hostingContext, logging) =>
                {
                    logging.ClearProviders();
                    logging.AddLog4Net();
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

③    之后的日志出力方法和通常的Log4net一样即可

④    使用Application Insights门户网站的检索功能来确认日志内容

 

4,注意点

①    打印日志的同时,相关情报也一起打印出来,最好不要一条一条打印,而是尽可能打包一次性输出,从而减少打印的次数

②    Application Insights的采样(sampling)默认有效,所以短期内大量打印日志的话,有可能进行采样打印日志,所以如果需要打印所有日志的话,需要将采样进行无效化设置

 

posted @ 2022-04-13 16:29  追风小伙  阅读(122)  评论(1编辑  收藏  举报