C# 记录错误日志
程序的错误日志如何记录下来?
可以在遇到异常时,Catch异常,然后把异常的信息输出到txt文件中即可
/// <summary>
/// 错误日志
/// </summary>
public class LogHelper
{
private static object lockFlag = new object();
private static string LOG_FILE_PATH = AppDomain.CurrentDomain.BaseDirectory + "Log";
/// <summary>
/// 记录日志
/// 异常
/// </summary>
/// <param name="ex"></param>
public static void LogError(Exception ex)
{
LogInfo(String.Format("ExType:{0}\r\nExMessage:{1}\r\nExSource:{2}\r\nExStack:\r\n{3}\r\n",
ex.GetType(), ex.Message, ex.Source, ex.StackTrace));
}
public static void LogInfo(string msg)
{
lock (lockFlag)
{
IOHelper.CreateDirectory(LOG_FILE_PATH);
string fileName = LOG_FILE_PATH + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
msg = String.Format("------------------------{0}------------------------------\r\n", DateTime.Now) + msg;
msg += "\r\n\r\n\r\n";
File.AppendAllText(fileName, msg);
}
}
}
C# 记录错误日志的更多相关文章
- WebForm应用log4net记录错误日志——使用线程列队写入
我的项目结构如下图: 日志帮助类库需要log4net包:工具—NuGet包管理器—管理解决方案NuGet程序包 线程日志帮助类 FlashLogger.cs 代码 using System; usin ...
- ASP.NET记录错误日志的方式
程序记录错误日志是一种看起来对一般用户没什么作用,但对程序开发者用处很大的东西,它能查出错误或异常的程序马迹.那么,常用的记录错误日志的方式有哪些呢? 大多数情况下使用的是 1.直接记录为txt/xm ...
- ASP.NET MVC中Log4Net记录错误日志的使用
第一.在管理NuGet程序包 =>下载 Log4Net 第二.在web.config配置Log4Net 1:在<configuration>节点下 <configSection ...
- ASP.NET - 记录错误日志
不需要像log4net/Nlog/Common Logging配置,简单好用. 不用增加声明logger对象,可记录当前执行状况. 可以定义 维护功能模板的开发人员,以便用功能模块对于开发人员. 出处 ...
- AspNetCore 使用log4net+IExceptionFilter 记录错误日志
错误日志的好处我就不说了,大家都心里有数,那今天浩子就给大家说一说基本的错误日志吧这次通过log4net记录日志. 原来写过一个关于Nlog的日志框架,传送门为:https://www.cnblogs ...
- (转)处理SQL中的异常并记录错误日志
原文地址 创建错误日志表: ),ErrState ),ErrLine )) --创建错误日志记录存储过程: CREATE PROCEDURE ErrorLog AS SELECT ERROR_NUMB ...
- asp.net mvc中加入log4net记录错误日志
直接上代码示例:https://share.weiyun.com/aff36f2547514cfefe129ebb8ccb28ef 首先添加加log4net的dll,推荐用nuget.... 贴上配置 ...
- 点滴积累【C#】---使用log4net组件记录错误日志(以文本形式记录)
效果: 描述: 利用log4net组件进行错误日志的记录,log4net记录错误的方式我所了解的有4种,No.1 文本形式记录日志,No.2存储到数据库形式记录日志,No.3控制台控制显示日志,No. ...
- DML过程中记录错误日志
当你插入几百万数据时,由于有几条脏数据而导致插入失败,是不是很恼火.10g R2之后有个新功能.将插入过程中失败的记录插入到还有一张表中. SQL> drop table test purge; ...
随机推荐
- 自定义UIButton
偶尔逛简书能看见很多值得记下来的东西,有的接触过有的没接触过,接触过的也可能过段时间就忘记了,再上手的时候可能手足无措,所以决定有些觉得值得记下来的东西还是记录一下.博客是个好地方,因为很多人都能搜索 ...
- 使用CodeDom动态生成类型
.NET 3.5的时候加入了匿名类型这个特性,我们可以直接使用 new {name="abc"} 来直接生成一个对象.这个特性现在应用的地方很多,比如dapper的查询参数都是用匿 ...
- Rafy 领域实体框架演示(2) - 新功能展示
本文的演示需要先完成上一篇文章中的演示:<Rafy 领域实体框架示例(1) - 转换传统三层应用程序>.在完成改造传统的三层系统之后,本文将讲解使用 Rafy 实体框架后带来的一些常用功能 ...
- 用NPOI从DataBase到Excel '2
NPOI的C# Helper代码2 public static MemoryStream ExportXls(DataTable dt) { HSSFWorkbook wk = new HSSFWor ...
- jQuery网页版五子棋小游戏源码下载
体验效果:http://hovertree.com/texiao/game/4/ 网页五子棋源代码: <!DOCTYPE html> <html> <head> & ...
- [C#] .NET4.0中使用4.5中的 async/await 功能实现异
好东西需要分享 原文出自:http://www.itnose.net/detail/6091186.html 在.NET Framework 4.5中添加了新的异步操作库,但是在.NET Framew ...
- Mac上编译C++报错
今天在使用Mac编译C++文件时,提示以下错误. Undefined symbols for architecture x86_64: "std::__1::__vector_base_co ...
- Redis安装配置
Redis有服务端和客户端 服务端: 服务端下载地址: https://github.com/dmajkic/redis/downloads 解压后: 然后进入CMD命令: 不要关闭此命令窗(关闭服务 ...
- 聊聊JVM的年轻代
1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的 唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候 ...
- JavaScript基本语法(二)
上篇博文写到JavaScript的数据类型.JavaScript包括了字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未 ...