在日常的工作中经常需要日志,这样能够很容易定位到代码中的一些错误,.Net中有自带的日志接口。并没有仔细去研究,这里是我自己写的日志接口,记录下来以便以后用到,根据时间打印相关的日志文件,代码如下:

  1. namespace InspectionQueue.CommonHelper
  2. {
  3. public class LogInfoHelp
  4. {
  5. /// <summary>
  6. /// 日志类型
  7. /// </summary>
  8. private enum LOG_TYPE
  9. {
  10. LOG_FAIL = , //致命错误
  11. LOG_ERROR, //一般错误
  12. LOG_EXCEPTION, //异常
  13. LOG_WARN, //警告
  14. LOG_INFO, //一般信息
  15. }
  16.  
  17. private StreamWriter LogFile = null;
  18. private static LogInfoHelp _instance = null;
  19. private string LogFilePath = null;
  20.  
  21. public static LogInfoHelp GetInstance()
  22. {
  23. if(null == _instance)
  24. {
  25. _instance = new LogInfoHelp();
  26. }
  27.  
  28. return _instance;
  29. }
  30. private LogInfoHelp() { }
  31.  
  32. /// <summary>
  33. /// 创建日志文件
  34. /// </summary>
  35. public void CreateLogFile()
  36. {
  37. //获取运行程序的路径
  38. string logFilePath = AppDomain.CurrentDomain.BaseDirectory;
  39. string logFileName = (DateTime.Now.Year).ToString() + '-'
  40. + (DateTime.Now.Month).ToString() + '-' + (DateTime.Now.Day).ToString() + "_Log.log";
  41. logFilePath += "logFile\\";
  42. if (!Directory.Exists(logFilePath))
  43. {
  44. Directory.CreateDirectory(logFilePath);
  45. }
  46. this.LogFilePath = logFilePath + logFileName;
  47. }
  48.  
  49. /// <summary>
  50. /// 信息写入日志
  51. /// </summary>
  52. /// <param name="strMsg"></param>
  53. public void WriteInfoToLogFile(string strLogInfo, ConstValues.LOG_TYPE logType)
  54. {
  55. LogFile = new StreamWriter(LogFilePath, true);//文件保存位置
  56. string strlogInfo = null;
  57. switch(logType)
  58. {
  59. case ConstValues.LOG_TYPE.LOG_FAIL:
  60. {
  61. strlogInfo = String.Format("[{0}] 致命错误:{1}", DateTime.Now.ToString(), strLogInfo);
  62. }
  63. break;
  64.  
  65. case ConstValues.LOG_TYPE.LOG_ERROR:
  66. {
  67. strlogInfo = String.Format("[{0}] 一般错误:{1}", DateTime.Now.ToString(), strLogInfo);
  68. }
  69. break;
  70.  
  71. case ConstValues.LOG_TYPE.LOG_EXCEPTION:
  72. {
  73. strLogInfo = String.Format("[{0}] 异常:{1}", DateTime.Now.ToString(), strLogInfo);
  74. }
  75. break;
  76.  
  77. case ConstValues.LOG_TYPE.LOG_WARN:
  78. {
  79. strLogInfo = String.Format("[{0}] 警告:{1}", DateTime.Now.ToString(), strLogInfo);
  80. }
  81. break;
  82.  
  83. case ConstValues.LOG_TYPE.LOG_INFO:
  84. {
  85. strLogInfo = String.Format("[{0}] 一般信息:{1}", DateTime.Now.ToString(), strLogInfo);
  86. }
  87. break;
  88. }
  89. LogFile.WriteLine(strLogInfo);
  90. LogFile.Close();
  91. }
  92. }
  93. }

C#中使用打印日志的更多相关文章

  1. Xcode8中处理打印日志的配置

    Xcode8中处理打印日志的配置

  2. springboot中logback打印日志(转)

    springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能 直接贴代码: <?xml version="1. ...

  3. springboot 项目中控制台打印日志以及每天生成日志文件

    1.控制台打印sql语句 只要在application.properties 中加入<configuration  scan="true" scanPeriod=" ...

  4. springboot中logback打印日志

    http://blog.csdn.net/fan510988896/article/details/54409790

  5. ruby脚本打印日志到rspec的报告文件中

    在通过ruby+webdriver+rspec做自动化测试的时候,为了便于观察用例执行情况,我基本上都会用 rspec XX.rb --format doc -o result.log 如果遇到失败的 ...

  6. Android中logcat和日志打印

     一.logcat对日志过滤 1.# logcat --help # logcat --help Usage: logcat [options] [filterspecs] options inclu ...

  7. java IDE 中安装 lombok plugin 插件,并使用 @Slf4j 注解打印日志初体验

    lombok 插件介绍: IntelliJ IDEA官方插件页面:https://plugins.jetbrains.com/plugin/6317-lombok-plugin 使用lombok之后, ...

  8. 大数据项目中js中代码和java中代码(解决Tomcat打印日志中文乱码)

    Idea2018中集成Tomcat9导致OutPut乱码找到tomcat的安装目录,打开logging.properties文件,增加一行代码,覆盖默认设置,将日志编码格式修改为GBK.java.ut ...

  9. Java中打印日志,这4点很重要!

    目录 一.预先判断日志级别 二.避免无效日志打印 三.区别对待错误日志 四.保证记录完整内容 打印日志,要注意下面4点. 一.预先判断日志级别 对DEBUG.INFO级别的日志,必须使用条件输出或者使 ...

随机推荐

  1. JavaScript数据类型之数字类型

    引言 JavaScript不区分整数值和浮点数值,全部使用浮点数值表示.当一个数字直接出现在JavaScript程序中,我们称之为数字直接量(numeric litertal).JavaScript支 ...

  2. JSP内置对象概述

    JSP内置对象预先定义了九个这个的对象: request(请求) . response (响应). session (会话). application (应用程序). out . pageContex ...

  3. 设计模式のBridgePattern(桥接模式)----结构模式

    一.产生背景 这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体 ...

  4. 利用nginx搭建小型的文件服务器

    PS内的文件如果需要共享给其他计算机下载,可以选择ftp的方式,优点是操作性很高,修改删除下载等等都可以,但是速度略慢. 如果仅仅是将VPS作为文件中转站,可以尝试用Nginx架设一个简单的文件服务器 ...

  5. Zend:PHP框架结束的开始?

    Zend:PHP框架结束的开始? 随着Zeev Suraski, Matthew Weier O'Phinney, Enrico Zimuel and Dmitry Stogov 这些PHP核心小组的 ...

  6. css3 object-fit详解

    上传头像的时候遇到了头像变形的问题,最后通过object-fit: cover完美解决了.这个CSS属性可以达到最佳最完美的居中自动剪裁图片的功能. object-fit理解 CSS3 backgro ...

  7. [matlab] 18.图与网络 (转载)

    基本概念: 图论[Graph Theory]是数学的一个分支.它以图为研究对象.图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连 ...

  8. VMware15安装MAC(MAC OS 10.13)(OS X 10.14)原版可升级最新可解锁macOS Unlocker3.0(OS X 10.13)

      目录树 1.1.2安装环境: 1.1.3所需资源: 1.1.4 Unlocker 3.0解锁 1.1.5 配置环境 1.1.6开始安装 1.1.7开启虚拟机进入MAC安装界面 1.1.8 macO ...

  9. 磁盘性能评价指标—IOPS和吞吐量

    转:http://blog.csdn.net/hanchengxi/article/details/19089589 一.磁盘 I/O 的概念 I/O 的概念,从字义来理解就是输入输出.操作系统从上层 ...

  10. WebBench压力测试工具(详细源码注释+分析)

    本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父 ...