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

namespace InspectionQueue.CommonHelper
{
public class LogInfoHelp
{
/// <summary>
/// 日志类型
/// </summary>
private enum LOG_TYPE
{
LOG_FAIL = , //致命错误
LOG_ERROR, //一般错误
LOG_EXCEPTION, //异常
LOG_WARN, //警告
LOG_INFO, //一般信息
} private StreamWriter LogFile = null;
private static LogInfoHelp _instance = null;
private string LogFilePath = null; public static LogInfoHelp GetInstance()
{
if(null == _instance)
{
_instance = new LogInfoHelp();
} return _instance;
}
private LogInfoHelp() { } /// <summary>
/// 创建日志文件
/// </summary>
public void CreateLogFile()
{
//获取运行程序的路径
string logFilePath = AppDomain.CurrentDomain.BaseDirectory;
string logFileName = (DateTime.Now.Year).ToString() + '-'
+ (DateTime.Now.Month).ToString() + '-' + (DateTime.Now.Day).ToString() + "_Log.log";
logFilePath += "logFile\\";
if (!Directory.Exists(logFilePath))
{
Directory.CreateDirectory(logFilePath);
}
this.LogFilePath = logFilePath + logFileName;
} /// <summary>
/// 信息写入日志
/// </summary>
/// <param name="strMsg"></param>
public void WriteInfoToLogFile(string strLogInfo, ConstValues.LOG_TYPE logType)
{
LogFile = new StreamWriter(LogFilePath, true);//文件保存位置
string strlogInfo = null;
switch(logType)
{
case ConstValues.LOG_TYPE.LOG_FAIL:
{
strlogInfo = String.Format("[{0}] 致命错误:{1}", DateTime.Now.ToString(), strLogInfo);
}
break; case ConstValues.LOG_TYPE.LOG_ERROR:
{
strlogInfo = String.Format("[{0}] 一般错误:{1}", DateTime.Now.ToString(), strLogInfo);
}
break; case ConstValues.LOG_TYPE.LOG_EXCEPTION:
{
strLogInfo = String.Format("[{0}] 异常:{1}", DateTime.Now.ToString(), strLogInfo);
}
break; case ConstValues.LOG_TYPE.LOG_WARN:
{
strLogInfo = String.Format("[{0}] 警告:{1}", DateTime.Now.ToString(), strLogInfo);
}
break; case ConstValues.LOG_TYPE.LOG_INFO:
{
strLogInfo = String.Format("[{0}] 一般信息:{1}", DateTime.Now.ToString(), strLogInfo);
}
break;
}
LogFile.WriteLine(strLogInfo);
LogFile.Close();
}
}
}

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. 译文——The habits of highly successful people

    1.Morning Routine (早上列行公事) Probably the most common habit ultra-successful people have is they can t ...

  2. JavaScript的内置对象(Math对象)

    Math对象概述 Math(算数)对象的作用是:执行常见的算数任务.保存数学公式和信息. 与我们在JavaScript 直接编写计算功能相比,Math 对象提供的计算功能执行起来要快得多. Math ...

  3. BSOJ 5603 -- 【SNOI2017】炸弹

    题好数据水系列,网上的十几行神仙解法A了原数据. 这道题要用到线段数优化建图的知识.然而考试考到这道题时我还不会. 我们设分别表示每个炸弹向左和向右最远能炸到哪个炸弹.很容易想到一个思路,就是每个炸弹 ...

  4. python脚本后台启动

    nohup python -u test.py > out.log 2>&1 & nohup python -u 文件路径 > 打印日志 2>&1 &a ...

  5. Python中的__new__()方法与实例化

    @Python中的__new__()方法与实例化   __new__()是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解,在Python 中 存在于类里面的构造方法__init__ ...

  6. ansible的playbook进行yum批量安装nginx最新版本

    环境:centos7 版本:nginx最新版本 软件: ansible 作用: 进行批量执行不同机器上,进行安装nginx版本 检查脚本是否正确: [root@ansible-test ansible ...

  7. 002_pip安装失败

    一.安装cmdb的驱动遇到了如下问题 [root@localhost 003_pyenv]# pip2.7 install cmdb_sdk==0.3.1 -i http://cmdb.elenet. ...

  8. lintcode 515. Paint House

    Paint House 自己的写法: class Solution { public: /** * @param costs: n x 3 cost matrix * @return: An inte ...

  9. vector--不定长数组

    (一些很基础的东西) vector就是一个不定长数组 vector<int>a (黄色部分可替换) a.size() 读取它的大小 a.resize() 改变大小 a.push_back( ...

  10. Python排序算法——快速排序

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10768593.html 排序算法(Sortin ...