zoukankan      html  css  js  c++  java
  • .net core日志

     APS.net core 的所有日志都在using System.Diagnostics; 空间下

    https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics?view=netcore-3.1

    一、调试日志

    1.

            static void Main(string[] args)
            {
                //log 参数1日志等级,参数2日志类别,参数3日志信息
                Debugger.Log(0,null,"调试日志
    ");
                Console.ReadKey();
            }

     2.

    通常用的更多的是

    Debug.Write("调试日志
    ");

    3.

    使用断言类似打断点的效果,可以传1-3个参数,只在debug模式下有效。

    Debug.Assert(false,"message","long message");

     

     4.

    带判断的调试,当为true时,输出结果

    Debug.WriteLineIf(true, "abc");

    二、跟踪日志

    TraceSource 

    1.

                //参数1日志名称,参数2要显示的日志类型
                var source = new TraceSource("log", SourceLevels.All);
                //得到所有的日志等级
                var eventTypes = (TraceEventType[])Enum.GetValues(typeof(TraceEventType));
                int i = 0;
                //遍历输出
                Array.ForEach(eventTypes, it=> source.TraceEvent(it,i++,$"日期等级为 {it}"));

     一共10个等级,其中 0行的等级最高,依次下降。.

    2.自定义监听器

    默认使用的是DefaultTraceListener的监听器,它会显示的vs的输出窗体中 

        class Program
        {
            static void Main(string[] args)
            {
    
                var source = new TraceSource("log", SourceLevels.All);
                //添加一个监听器
                source.Listeners.Add(new LogListener());
                var eventTypes = (TraceEventType[])Enum.GetValues(typeof(TraceEventType));
                int i = 0;
                Array.ForEach(eventTypes, it=> source.TraceEvent(it,i++,$"日期等级为 {it}"));
            }
    
            class LogListener : TraceListener
            {
                public override void Write(string message)
                {
                    Console.Write(message);
                }
                public override void WriteLine(string message)
                {
                    Console.WriteLine(message);
                }
            }
        }

    这样就输出到了控制台上

     

    三、事件日志

     EventSource

    四、诊断日志

    DiagnosticSource

  • 相关阅读:
    Leetcode 15 3Sum
    Leetcode 383 Ransom Note
    用i个点组成高度为不超过j的二叉树的数量。
    配对问题 小于10 1.3.5
    字符矩阵的旋转 镜面对称 1.2.2
    字符串统计 连续的某个字符的数量 1.1.4
    USACO twofive 没理解
    1002 All Roads Lead to Rome
    USACO 5.5.1 求矩形并的周长
    USACO 5.5.2 字符串的最小表示法
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/13152401.html
Copyright © 2011-2022 走看看