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

运行效果

相关推荐
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹1 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
Polevne1 天前
C# SFTP客户端实现文件传输
c#·ssh
samble1 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
_Jonas1 天前
.net framework开发环境正式环境配置文件的切换
.net·wpf
cjp5602 天前
024 . WPF MVVM类封装优化
c#
淡海水2 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
asdzx672 天前
如何使用 C# 提取 PPT 文本与图片
c#·ppt·提取文本