• 封装一个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     }
  • 相关阅读:
    信息论
    学习抓包
    深入学习垃圾kafka
    share data
    【转载】计算图像相似度——《Python也可以》之一
    聊聊java list的使用特性
    log4j多线程以及分文件输出日志
    【转载】JDBC的连接参数的设置导致rowid自动添加到sql
    背包问题
    【转】【动态规划】01背包问题
  • 原文地址:https://www.cnblogs.com/dotnetHui/p/8623699.html
Copyright © 2020-2023  润新知