zoukankan      html  css  js  c++  java
  • 封装一个C#日志类Loger

     1     public class Loger
     2     {
     3         /// <summary>
     4         /// 写入日志
     5         /// </summary>
     6         /// <param name="content">日志内容</param>
     7         /// <param name="title">日志标题</param>
     8         /// <param name="folderName">文件夹名称</param>
     9         /// <param name="filePrefixName">文件前缀名</param>
    10         public static void Write(string content, string title = "", string folderName = "Log", string filePrefixName = "Log")
    11         {
    12             try
    13             {
    14                 lock (typeof(Loger))
    15                 {
    16                     DateTime dateTimeNow = DateTime.Now;
    17                     string logDirPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log", folderName);
    18                     if (!Directory.Exists(logDirPath))
    19                     {
    20                         Directory.CreateDirectory(logDirPath);
    21                     }
    22 
    23                     string logFilePath = string.Format("{0}/{1}-{2}.txt", logDirPath, filePrefixName, dateTimeNow.ToString("yyyy-MM-dd"));
    24                     using (StreamWriter writer = new StreamWriter(logFilePath, true, Encoding.UTF8))
    25                     {
    26                         try
    27                         {
    28                             writer.WriteLine("------------------------------------------------------------------------------------------");
    29                             writer.WriteLine(title);
    30                             writer.WriteLine("日志时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
    31                             writer.WriteLine(content);
    32                             writer.WriteLine("------------------------------------------------------------------------------------------");
    33                         }
    34                         catch (Exception ex)
    35                         {
    36                             Console.WriteLine("Loger.cs Line45" + ex.Message);
    37                         }
    38 
    39                         writer.Close();
    40                     }
    41                 }
    42             }
    43             catch(Exception ex)
    44             {
    45                 Console.WriteLine("Loger.cs Line54" + ex);
    46                 //throw new Exception("无法将日志写入文件,请查看安装目录是否有权限!");
    47             }
    48         }
    49 
    50         /// <summary>
    51         /// 写入日志
    52         /// </summary>
    53         /// <param name="format">符合格式字符串</param>
    54         /// <param name="args">一个对象数组,其中包含零个或多个要设置格式的对象</param>
    55         public static void WriteFormat(string format, params object[] args)
    56         {
    57             string content = string.Format(format, args);
    58             Write(content, "", "Log", "Log");
    59         }
    60 
    61         /// <summary>
    62         /// 写入日志
    63         /// </summary>
    64         /// <param name="ex">Exception对象</param>
    65         /// <param name="title">日志标题</param>
    66         /// <param name="folderName">文件夹名称</param>
    67         /// <param name="filePrefixName">文件前缀名</param>
    68         public static void Write(Exception ex, string title = "", string folderName = "Exception", string filePrefixName = "Exception")
    69         {
    70             string content = string.Format("错误信息:{1}{0}错误来源:{2}{0}堆栈信息:{0}{3}", Environment.NewLine, ex.Message, ex.Source, ex.StackTrace);
    71             Write(content, title, folderName, filePrefixName);
    72         }
    73     }
  • 相关阅读:
    算法:合并排序(Merge Sort)
    安全:Web 安全学习笔记
    算法:冒泡排序(Bubble Sort)、插入排序(Insertion Sort)和选择排序(Selection Sort)总结
    算法:四种冒泡排序(Bubble Sort)实现
    算法:阶乘的五种算法
    算法:递归知识文章汇总
    算法:插入排序(Insertion Sort)
    .NET:线程本地存储、调用上下文、逻辑调用上下文
    算法:Rate of Growth
    企业应用:一个够用的、通用的状态机(管理实体的业务状态)
  • 原文地址:https://www.cnblogs.com/dotnetHui/p/8623699.html
Copyright © 2011-2022 走看看