zoukankan      html  css  js  c++  java
  • c#简单自定义异常处理日志辅助类

     using System;
     using System.Collections.Generic;
     using System.IO;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     
      namespace LogHelper
      {
         public static class LogHelper
         {
             //拼接日志目录
             static string appLogPath = AppDomain.CurrentDomain.BaseDirectory + "log/";
             /// <summary>
             /// 写入日志
             /// </summary>
             /// <param name="ex">异常对象</param>
             public static void WriteLog(Exception ex)
             {
                 //日志目录是否存在 不存在创建
                 if (!Directory.Exists(appLogPath))
                {
                    Directory.CreateDirectory(appLogPath);
                }
                 StringBuilder logInfo = new StringBuilder("");
                string currentTime = System.DateTime.Now.ToString("[yyyy-MM-dd HH:mm:ss]");
                if (ex != null)
                 {
                    logInfo.Append("
    ");
                    logInfo.Append(currentTime + "
    ");
                     //获取描述当前的异常的信息
                     logInfo.Append(ex.Message + "
    ");
                    //获取当前实例的运行时类型
                     logInfo.Append(ex.GetType() + "
    ");
                     //获取或设置导致错误的应用程序或对象的名称
                     logInfo.Append(ex.Source + "
    ");
                     //获取引发当前异常的方法
                    logInfo.Append(ex.TargetSite + "
    ");
                     //获取调用堆栈上直接桢的字符串表示形式
                     logInfo.Append( ex.StackTrace + "
    ");
                 }
                 System.IO.File.AppendAllText(appLogPath + DateTime.Now.ToString("yyyy-MM-dd") + ".log", logInfo.ToString());
             }
     
         }
     }

    调用方法:

         try
                 {
                     while (true)
                     {
                         int a = Convert.ToInt32(Console.ReadLine());
                         Console.WriteLine("您输入的是:" + a);
                     }
     
                 }
                 catch (Exception ex)
                 {
    
                     LogHelper.WriteLog(ex);
                 }
                 Console.Write("OVER");
                Console.Read();
     }
  • 相关阅读:
    Go内建容器篇
    Go基础语法篇
    【区块链】比特币Merkle树
    【区块链】Fabric 术语
    Apache旗下项目
    【区块链】Fabric0.6 与1.0
    rc.local不起作用
    命令行模式启动VMWare虚拟机
    vsftpd 530 Login incorrect 根本原因和解决方案
    Oracle的undotbs01.dbf文件太大(占用大量磁盘空间)处理方法 ORA-01654 空间不足 ORA-01653
  • 原文地址:https://www.cnblogs.com/siyunianhua/p/6950835.html
Copyright © 2011-2022 走看看