C# .Net 7.0 Core添加日志可视化

文章目录

安装日志相关的程序包

Program.cs 配置文件

json 复制代码
            #region 配置SeriLog

            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug() //内部系统事件,这些事件并不一定能够从外部观测到。
                .MinimumLevel.Override("Default", LogEventLevel.Information)
                .MinimumLevel.Override("Microsoft", LogEventLevel.Error)
                .MinimumLevel.Override("Microsoft.Hosting.Lifetime", LogEventLevel.Error)
                .Enrich.FromLogContext()
                .WriteTo.Console(theme: Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme.Code)   //将日志写进控制台
                .WriteTo.File($"{AppContext.BaseDirectory}Logs/Marketing.log",  //将日志写进特定的文件中
                rollingInterval: RollingInterval.Day,
                outputTemplate: "{Timestamp:HH:mm:ss.fff zzz} ||{Level}||{SourceContext:1}||{Message}||{Exception}||end {NewLine}")
                .CreateLogger();
            #endregion
csharp 复制代码
   //添加LogDashBoard
            builder.Services.AddLogDashboard();
            //使用LogDashBoard
            app.UseLogDashboard();

测试效果

控制器的调用加日志

csharp 复制代码
        private readonly ILogger<UserController> _logger;
        public UserController(ILogger<UserController> logger)
        {
            _logger = logger;
        }
csharp 复制代码
//日志
        private readonly ILogger<UserController> _logger;
        public UserController(ILogger<UserController> logger)
        {
            _logger = logger;
        }

        ///<summary>
        ///用户登录
        ///</summary>
        [HttpPost("login")]
        public string Login([FromBody]dynamic obj)
        {
            string return_json;
            ReturnData returnData = new ReturnData();
            try
            {
                dynamic o = JsonConvert.DeserializeObject(Convert.ToString(obj));
                UserModel user = new UserModel();
                user.Emp_Num = Convert.ToString(o.emp_Num);
                user.Pw = HashHelper.ComputeMD5(Convert.ToString(o.pw));
                return_json = UserBLL.Login(user);
            }
            catch (Exception ex)
            {
                returnData.code = "E";
                returnData.msg = ex.Message;
                return_json = JsonConvert.SerializeObject(returnData);
                _logger.LogError(ex.Message);
            }
            _logger.LogInformation(return_json);
            return return_json;
        }

运行效果

相关推荐
qq_410194291 小时前
.net性能优化的步骤,前端、后端、数据库
性能优化·.net
八苦2 小时前
如何用c# 做 mcp/ChatGPT app
c#·mcp
人工智能AI技术4 小时前
DeskClaw Windows上线|C#开发AI桌面助手,轻量内核源码解析
人工智能·c#
似水明俊德4 小时前
04-C#.Net-委托和事件-面试题
java·开发语言·面试·c#·.net
程序员老乔7 小时前
Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(二):Valhalla落地,值类型如何让电商DTO内存占用暴跌
java·spring boot·c#
祝大家百事可乐7 小时前
嵌入式——02 数据结构
c++·c#·硬件工程
步步为营DotNet8 小时前
探索.NET 11 中Semantic Kernel在智能客户端应用的创新实践
.net
我是唐青枫8 小时前
深入理解 C#.NET TaskScheduler:为什么大量使用 Work-Stealing
c#·.net
唯情于酒10 小时前
net core web api 使用log4net
c#·.net core
SunnyDays101110 小时前
C# 实战:快速查找并高亮 Word 文档中的文字(普通查找 + 正则表达式)
开发语言·c#