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

运行效果

相关推荐
花北城5 小时前
【C#】ABP框架服务端开发
开发语言·c#·abp
xiaoshuaishuai87 小时前
C# vCenter跨云迁移的核心问题
开发语言·c#
旧物有情7 小时前
C#异步编程
网络·rpc·c#
影寂ldy9 小时前
C# 三大内置委托(Action / Func / Predicate)+ Lambda
c++·算法·c#
云草桑13 小时前
.NET10+AI 架构师全套实战学习文档(含源码、案例、面试题、项目源码)
人工智能·学习·ai·.net
小满Autumn13 小时前
固高GTS运动控制卡 — C#开发完全指南
c#·.net·上位机·运动控制卡
影寂ldy13 小时前
C# 多播委托
前端·javascript·c#
The Sheep 202314 小时前
C#多线程学习
开发语言·学习·c#
我要打打代码14 小时前
C# 扩展方法
开发语言·c#
椒颜皮皮虾྅14 小时前
OpenVINO™ C# API 3.3 全新发布!正式接入 OpenVINO GenAI,C# 本地大模型开发全面启航!
人工智能·开源·c#·openvino