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;
        }

运行效果

相关推荐
xiaogutou112110 小时前
2026年历史课件PPT模板选购指南:教师备课效率与精度的平衡方案
开发语言·c#
Eiceblue13 小时前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
不会编程的懒洋洋15 小时前
WPF XAML+布局+控件
xml·开发语言·c#·视觉检测·wpf·机器视觉·视图
唐青枫15 小时前
别再层层传参了!C#.NET AsyncLocal 异步上下文透传实战
c#·.net
明如正午16 小时前
【C#】托管调试助手 “PInvokeStackImbalance“:的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。
c#
Eiceblue17 小时前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel
天才少女爱迪生17 小时前
word格式规范检测+自动修改【python】
python·c#·word
用户37215742613517 小时前
如何使用 C# 转换 PowerPoint 为 HTML:完整指南
c#
软泡芙18 小时前
【C# 】各种等待大全:从入门到精通
开发语言·c#·log4j
小邓的技术笔记19 小时前
.NET 10 使用 Microsoft.AspNetCore.OpenApi 实现 API 版本管理
.net