• .net 创建属于自己的log类


    实习到现在已经接近三个月了,由于是校企联合培养计划,所以没有工资,所幸公司对于我们这些实习生并没有什么要求,刚开始我还觉得要做点什么才能学得快,可是到了后来,发现公司安排给我们的任务并不紧要,也不算太难。

    到现在大约接触了2,3个模块的设计和实现了,起初,在文件读写和记录日志方面屡屡收到了批评,因外在大学的时候并没有记录日子的习惯,使得这个时候匆匆忙忙要养成在关键位置记录日志的习惯变得有些困难,

    起初我是使用了postsharp的第三方插件来记录自己的运行日志的,可是后来发现在代码移植方面,如果其他电脑没有安装postsharp会使得移植过程变得复杂,特别是在部署的时候增加复杂度。

    现在在进行新的模块的时候决定不再使用postsharp了,打算自己写一个简单的记录日志的类,来记录在关键位置的操作。

    【改进版】

    http://www.cnblogs.com/Bobdong/p/5032690.html

    不废话,直接出代码,代码比较简单,实现的功能也非常简单。

    可以直接复制粘贴来使用,同时,我也提供了源码给像我一样的初学者下载。

     1 using System;
     2 using System.IO;
     3 
     4 namespace CustomerLog
     5 {
     6 
     7     /// <summary>
     8     /// 保存日志
     9     /// </summary>
    10     public class Logging
    11     {
    12         #region 日志分类
    13         /// <summary>
    14         /// 保存普通日志
    15         /// </summary>
    16         /// <param name="message"></param>
    17         public static void Writelog(string message)
    18         {
    19             string logContent = string.Format("[{0}] =>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message);
    20             SetFile(@"Log.txt", logContent);
    21         }
    22 
    23         /// <summary>
    24         /// 保存关键日志
    25         /// </summary>
    26         /// <param name="message"></param>
    27         public static void WriteKeylog(string message)
    28         {
    29             var logContent = string.Format("[{0}]=>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message);
    30             SetFile(@"KeyLog.txt", logContent);
    31         }
    32 
    33         /// <summary>
    34         /// 保存错误信息日志
    35         /// </summary>
    36         /// <param name="ex"></param>
    37         public static void WriteBuglog(Exception ex)
    38         {
    39             var logContent = string.Format("[{0}]错误发生在:{1},\r\n 内容:{2}",
    40                 DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), ex.Source, ex.Message);
    41             logContent += string.Format("\r\n [{0}] 跟踪:{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"),
    42                 ex.StackTrace);
    43             SetFile(@"BugLog.txt", logContent);
    44         }
    45         #endregion
    46 
    47         #region 通用操作
    48         /// <summary>
    49         /// 标准化写入过程,继承之后可自定义写入内容
    50         /// 默认保存在debug目录的Log目录下
    51         /// </summary>
    52         /// <param name="filename">文件名</param>
    53         /// <param name="logContent">写入内容</param>
    54         protected static void SetFile(string filename, string logContent)
    55         {
    56             Isexist(); // 判断Log目录是否存在
    57             string errLogFilePath = Environment.CurrentDirectory + @"\Log\" + filename.Trim();
    58             StreamWriter sw;
    59             if (!File.Exists(errLogFilePath))
    60             {
    61                 FileStream fs1 = new FileStream(errLogFilePath, FileMode.Create, FileAccess.Write);
    62                 sw = new StreamWriter(fs1);
    63             }
    64             else
    65             {
    66                 sw = new StreamWriter(errLogFilePath, true);
    67             }
    68             sw.WriteLine(logContent);
    69             sw.Flush();
    70             sw.Close();
    71         }
    72 
    73         // 判断是否存在日志文件
    74         private static void Isexist()
    75         {
    76             string path = Environment.CurrentDirectory + @"\Log\";
    77             if (!File.Exists(path))
    78             {
    79                 Directory.CreateDirectory(path);
    80             }
    81         }
    82         #endregion
    83     }
    84 }

                            ↓↓↓↓↓下载地址↓↓↓↓↓【目前只会用百度云盘分享,求大神教授更加好用的分享方式】

                   http://pan.baidu.com/s/1kTNcfdH

  • 相关阅读:
    Java中二进制数与整型之间的转换
    校招小白机考入坑之从键盘输入java的各种数据类型
    使用flume抓取tomcat的日志文件下沉到kafka消费
    Scala学习笔记之Actor多线程与线程通信的简单例子
    通过流的方式操作hadoop的API
    Windows环境下使用kafka单机模式
    scrapy
    python 虚拟环境
    celery使用
    redis install
  • 原文地址:https://www.cnblogs.com/Bobdong/p/5015592.html
Copyright © 2020-2023  润新知