C#中使用打印日志
在日常的工作中经常需要日志,这样能够很容易定位到代码中的一些错误,.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#中使用打印日志的更多相关文章
- Xcode8中处理打印日志的配置
		
Xcode8中处理打印日志的配置
 - springboot中logback打印日志(转)
		
springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能 直接贴代码: <?xml version="1. ...
 - springboot 项目中控制台打印日志以及每天生成日志文件
		
1.控制台打印sql语句 只要在application.properties 中加入<configuration scan="true" scanPeriod=" ...
 - springboot中logback打印日志
		
http://blog.csdn.net/fan510988896/article/details/54409790
 - ruby脚本打印日志到rspec的报告文件中
		
在通过ruby+webdriver+rspec做自动化测试的时候,为了便于观察用例执行情况,我基本上都会用 rspec XX.rb --format doc -o result.log 如果遇到失败的 ...
 - Android中logcat和日志打印
		
一.logcat对日志过滤 1.# logcat --help # logcat --help Usage: logcat [options] [filterspecs] options inclu ...
 - java IDE 中安装 lombok plugin 插件,并使用 @Slf4j 注解打印日志初体验
		
lombok 插件介绍: IntelliJ IDEA官方插件页面:https://plugins.jetbrains.com/plugin/6317-lombok-plugin 使用lombok之后, ...
 - 大数据项目中js中代码和java中代码(解决Tomcat打印日志中文乱码)
		
Idea2018中集成Tomcat9导致OutPut乱码找到tomcat的安装目录,打开logging.properties文件,增加一行代码,覆盖默认设置,将日志编码格式修改为GBK.java.ut ...
 - Java中打印日志,这4点很重要!
		
目录 一.预先判断日志级别 二.避免无效日志打印 三.区别对待错误日志 四.保证记录完整内容 打印日志,要注意下面4点. 一.预先判断日志级别 对DEBUG.INFO级别的日志,必须使用条件输出或者使 ...
 
随机推荐
- linux下安装jdk_mysql_tomcat_redis
			
目前搬我以前的笔记,每个人做笔记方式都不一样,看别人的风格,生成自己的风格 1.linux安装软件和redis学习 jdk --- java开发运行环境 Tomcat - WEB程序的服务器 Mysq ...
 - UVA10603-Fill(BFS)
			
Problem UVA10603-Fill Accept:1162 Submit:10693 Time Limit: 3000 mSec Problem Description There are ...
 - NodeJS的优缺点
			
我们知道NodeJS是2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,解 ...
 - IDEA+Maven+web项目
			
用IDEA创建一个简单的Maven web项目:https://blog.csdn.net/sinat_34596644/article/details/52891274
 - sklearn官网-多分类问题
			
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
 - 图片完全填充CardView区域
			
在Android开发中,使用CardView来显示我们需要展示的图片,但是有时候显示出来的图片并没有填充整个CardView区域,为了让需要展示的图片填充整个CardView区域,只需要在ImageV ...
 - .NET Core中延迟单例另一种写法【.NET Core和.NET Framework的beforefieldinit差异】
			
1.BeforeFieldInit是什么 前段时间在反编译代码时无意间看到在类中有一个BeforeFieldInit特性,处于好奇的心态查了查这个特性,发现这是一个关于字段初始化时间的特性[提前初始化 ...
 - AutoMapper快速上手
			
一.什么是AutoMapper AutoMapper是一个简单的对象映射框架(OOM),对象映射原理是把一种类型的输入对象转换为不同类型的输出对象,通俗讲就是通过一些约束讲一种类型中数据自动映射到另 ...
 - CIFAR-10数据集图像分类【PCA+基于最小错误率的贝叶斯决策】
			
CIFAR-10和CIFAR-100均是带有标签的数据集,都出自于规模更大的一个数据集,他有八千万张小图片.而本次实验采用CIFAR-10数据集,该数据集共有60000张彩色图像,这些图像是32*32 ...
 - 修改构造器默认prototype后,新实例的constructor指向问题和解决办法
			
Chrome中调试 源码: 构造器 function Dog(){this.tail=true} 构造新实例 var benji= new Dog(); var rusty=new Dog(); 新 ...