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

运行效果

相关推荐
心平气和量大福大4 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
-银雾鸢尾-8 小时前
C#中HashTable相关方法
开发语言·c#
吴可可12312 小时前
C# CAD二次开发中如何退出窗口
c#
影寂ldy12 小时前
C# WinForm 三种自定义控件 + 完全自定义重绘控件知识点
开发语言·c#
ellis197012 小时前
C#异常相关关键字:Exceptions,throw,try,catch,finally
unity·c#
-银雾鸢尾-12 小时前
C#中的Dictionary相关方法
开发语言·c#
lzhdim13 小时前
C# 中读取CPU、硬盘和内存温度
开发语言·c#
驰骋工作流13 小时前
请假流程:六款.NET工作流引擎实现方式对比
.net·ccflow·工作流引擎二开·.net工作流引擎对比
WarPigs14 小时前
.NET项目app.Config笔记
c#·.net