在日常的工作中经常需要日志,这样能够很容易定位到代码中的一些错误,.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. 服务创建&删除

    创建服务.bat @echo.服务启动...... @echo off @sc create BestoneProductEditSvc binPath= "D:\winSvc\Beston ...

  2. xpath 解析 及案例

    xpath解析 编码流程: 1.实例化一个etree对象,且将页面源码加载到该对象中 2.使用xpath函数,且在函数中必须作用一个xpath表达式进行标签的定位 3.使用xpath进行属性和文本的提 ...

  3. 第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战

    USB3.1技术已经推出, 10Gbps的速率足以满足数据, HD视频传输的要求. 要步入USB3.1的研发, 还得将USB3.0的基础打扎实. 微软提供的SUPER MUTT仅仅包括一个接口0, 其 ...

  4. Python单元测试框架 unittest详解

    一 整体结构概览 unittest原名为PyUnit,是由java的JUnit衍生而来.对于单元测试,需要设置预先条件,对比预期结果和实际结果. TestCase :通过继承TestCase类,我们可 ...

  5. 当你想要在conda指定的某个环境中安装包的方法

    1)使用conda install -n 环境名 包名 userdeMBP:pytorch user$ conda install -n deeplearning2 tensorflow 2)进入环境 ...

  6. Oracle 迁移 序列

    ---删除序列select 'drop sequence ' || sequence_owner || '.' || SEQUENCE_NAME || ';'from dba_sequenceswhe ...

  7. org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 '&' 后面

    错误信息如下:org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 ‘’&’’ 后面 出现这个错误的原因是在xml中使用&,实际上xml中不支 ...

  8. .NetCore SignalR 踩坑记

    背景 由于最近公司要做微信小程序聊天,所以.NetFramwork版本的SignalR版本的不能用了.因为小程序里没有windows对象,导致JQuery无法使用.而Signalr的 js客户端是依赖 ...

  9. Plugin 'Lombok Plugin' is incompatible with this installation

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. Installation Error Plugin 'Lombok ...

  10. 2019 年起如何开始学习 ABP 框架系列文章-开篇有益

    2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/lates ...