将错误日志记录在txt文本里
引言
对于已经部署的系统一旦出错对于我们开发人员来说是比较痛苦的事情,因为我们不能跟踪到错误信息,不能
很快的定位到我们的错误位置在哪,这时候如果能像开发环境一样记录一些堆栈信息就可以了,这时候我们就需要将
错误信息捕捉到然后输出到一个我们可以看到的地方就可以了,这时候我们比较简单的做法就是将一些错误信息输出
到txt文本中。下面就和大家分享一个记录日志的工具类。
效果展示:
类代码:
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.IO;
- using System.Linq;
- using System.Web;
- namespace GetLog
- {
- public class WriteLog
- {
- private static StreamWriter streamWriter; //写文件
- public static void WriteError(string message)
- {
- try
- {
- //DateTime dt = new DateTime();
- string directPath = ConfigurationManager.AppSettings["LogFilePath"].ToString().Trim(); //在获得文件夹路径
- if (!Directory.Exists(directPath)) //判断文件夹是否存在,如果不存在则创建
- {
- Directory.CreateDirectory(directPath);
- }
- directPath += string.Format(@"\{0}.log", DateTime.Now.ToString("yyyy-MM-dd"));
- if (streamWriter == null)
- {
- streamWriter = !File.Exists(directPath) ? File.CreateText(directPath) : File.AppendText(directPath); //判断文件是否存在如果不存在则创建,如果存在则添加。
- }
- streamWriter.WriteLine("***********************************************************************");
- streamWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
- streamWriter.WriteLine("输出信息:错误信息");
- if (message != null)
- {
- streamWriter.WriteLine("异常信息:\r\n" + message);
- }
- }
- finally
- {
- if (streamWriter != null)
- {
- streamWriter.Flush();
- streamWriter.Dispose();
- streamWriter = null;
- }
- }
- }
- }
- }

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web; namespace GetLog
{
public class WriteLog
{
private static StreamWriter streamWriter; //写文件 public static void WriteError(string message)
{
try
{
//DateTime dt = new DateTime();
string directPath = ConfigurationManager.AppSettings["LogFilePath"].ToString().Trim(); //在获得文件夹路径
if (!Directory.Exists(directPath)) //判断文件夹是否存在,如果不存在则创建
{
Directory.CreateDirectory(directPath);
}
directPath += string.Format(@"\{0}.log", DateTime.Now.ToString("yyyy-MM-dd"));
if (streamWriter == null)
{
streamWriter = !File.Exists(directPath) ? File.CreateText(directPath) : File.AppendText(directPath); //判断文件是否存在如果不存在则创建,如果存在则添加。
}
streamWriter.WriteLine("***********************************************************************");
streamWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
streamWriter.WriteLine("输出信息:错误信息");
if (message != null)
{
streamWriter.WriteLine("异常信息:\r\n" + message);
}
}
finally
{
if (streamWriter != null)
{
streamWriter.Flush();
streamWriter.Dispose();
streamWriter = null;
}
}
}
}
}
配置文件:
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <startup>
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
- </startup>
- <appSettings>
- <!-- 系统日志保存路径-->
- <add key="LogFilePath" value="D://ErrorLog" />
- </appSettings>
- </configuration>

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
<!-- 系统日志保存路径-->
<add key="LogFilePath" value="D://ErrorLog" /> </appSettings>
</configuration>
调用代码:
- static void Main(string[] args)
- {
- try
- {
- var i = 0;
- var j = 1 / i;
- }
- catch (Exception ex)
- {
- WriteLog.WriteError(ex.ToString());
- throw;
- }
- }

static void Main(string[] args)
{
try
{
var i = 0;
var j = 1 / i;
}
catch (Exception ex)
{
WriteLog.WriteError(ex.ToString());
throw;
}
}
小结
上面就是我们一个简单实用的错误日志记录类,在此分享给大家希望能给各位提供帮助!
将错误日志记录在txt文本里的更多相关文章
- 点滴积累【C#】---错误日志记录到txt文本里。
效果: 描述:将系统中的错误信息,try catch到日志里面. 代码: [后端代码] using System; using System.Collections.Generic; using Sy ...
- PHP错误日志记录:display_errors与log_errors的区别
我们所做的东西,无论在开发环境还是在生产环境都可能会出现一些问题. 开发环境下,我们会要求错误尽可能详细的呈现出来,错误提示信息越详细越好,越详细越能帮助开发人员确定问题所在并从根本上解决他们. 生产 ...
- .Net Core中间件和过滤器实现错误日志记录
1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件. 每个中间件可以: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下 ...
- .net错误日志记录(log4)
Log4 web.config <!--这段放前面--> <configSections> <section name="log4net" type= ...
- 利用Image对象,建立Javascript前台错误日志记录
手记:摘自Javascript高级程序设计(第三版),利用Image对象发送请求,确实有很多优点,有时候这也许就是一个创意点,再次做个笔记供自己和大家参考. 原文: 开发 Web 应用程序过程中的一种 ...
- wpf 全局异常捕捉+错误日志记录+自动创建桌面图标
/// /// 创建桌面图标 /// public static void CreateShortcutOnDesktop(string LnkName) { String shortcutPath ...
- asp.net Web项目中使用Log4Net进行错误日志记录
使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能 ...
- PHP错误日志记录文件位置确定
1.确定web服务器 ( IIS, APACHE, NGINX 等) 以哪一种方式支持PHP,通常是有下面2种方式 通过模块加载的方式, 适用于apache 通过 CGI/fastCGI 模式, 该模 ...
- python错误日志记录工具,解决项目排错问题
我们写项目的时候难免会遇到代码报错的问题,遇到这样的问题了如何快速的定位问题并解决问题呢? 我今天来整理了利用python只带的工具来解决这个问题,我能需要使用的库有: logging os 这些都是 ...
随机推荐
- 返回Json数据浏览器带上<pre></pre>标签解决方法
问题: 当后台获取到前台传来的文件时(例如上传功能, 导入功能), 返回类型为application/json, 这个时候响应到前端的JSON格式的数据格式可能是: <pre style=&q ...
- http://my.oschina.net/pangyangyang/blog/144495
http://my.oschina.net/pangyangyang/blog/144495
- Linux系统监视资源与进程管理
Linux 系统中时刻运行着许多的进程,如果能够合理的管理它们,有益于系统性能的优化, 系统进程总共有五种不同的状态: 命令一:ps命令,用于查看系统中进程状态 格式:ps [参数] 查看进程与状态: ...
- Spring框架学习 - 配置
[资料] ★★☆ Spring 中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.Servl ...
- hadoop中的ssh无密码登录配置
在配置Hadoop集群分布时,要使用SSH免密码登录,假设现在有两台机器hadoop@Master(192.168.1.101),作为Master机,hadoop@Slave(192.168.1.10 ...
- log log4net用代码记录日志
log4net 用代码记录日志 今天在开发项目的时候,遇到跨域调用log4net中的类,出现了一个bug,提示LogImpl未标记可序列化,此时,我靠,麻烦了,这个类又不是咱们自己的,改源码我想应该 ...
- iphone/ipad实现自定义的开关UISwitch(continuous,clipsToBounds,userInteractionEnabled属性)
这里主要讲几个UIView的几个属性,具体大家可以下载代码看看, 下载地址是: http://download.csdn.net/detail/rhljiayou/5960003 实现效果是: 代码中 ...
- 了解thinkphp(二)
ThinkPHP的核心文件: Library文件夹下的Think文件夹目录 ThinkPHP的入口文件是: ThinkPHP.php , 我们在创建项目时都要引入这个入口文件!!! 一 , 项目的部署 ...
- [POJ2777]Count Color(线段树)
题目链接:http://poj.org/problem?id=2777 给你一个长为L想线段,向上面染色,颜色不超过30种,一共有O次操作,操作有两种: C a b c 在[a,b]上染上c颜色 P ...
- php-redis中文文档(转)
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/ow ...