c#——将错误日志记录在txt文本里

简介: c#——将错误日志记录在txt文本里

引言



对于已经部署的系统一旦出错对于我们开发人员来说是比较痛苦的事情,因为我们不能跟踪到错误信息,不能很快的定位到我们的错误位置在哪,这时候如果能像开发环境一样记录一些堆栈信息就可以了,这时候我们就需要将错误信息捕捉到然后输出到一个我们可以看到的地方就可以了,这时候我们比较简单的做法就是将一些错误信息输出到txt文本中。下面就和大家分享一个记录日志的工具类。


效果展示:


20160814082933514.png


类代码:

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>

调用代码:

static void Main(string[] args)
        {
            try
            {
                var i = 0;
                var j = 1 / i;
            }
            catch (Exception ex)
            {
                WriteLog.WriteError(ex.ToString());
                throw;
            }
        }

小结


上面就是我们一个简单实用的错误日志记录类,在此分享给大家希望能给各位提供帮助!


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
C#
C#读取txt文本的行数
C#读取txt文本的行数
47 0
|
13天前
|
存储 SQL 数据库
C# 将 Word 转文本存储到数据库并进行管理
C# 将 Word 转文本存储到数据库并进行管理
|
2月前
|
存储 SQL 数据库
C# 将 Word 转文本存储到数据库并进行管理
C# 将 Word 转文本存储到数据库并进行管理
|
4月前
|
存储 C# C++
C# 笔记2 - 数组、集合与与文本文件处理
C# 笔记2 - 数组、集合与与文本文件处理
46 0
|
6月前
|
Java 程序员 C#
C#日志系统 Log4net使用总结
C#日志系统 Log4net使用总结
43 0
|
6月前
|
开发框架 自然语言处理 文字识别
一款C#开发的窗口文本提取开源软件
一款C#开发的窗口文本提取开源软件
48 2
|
10月前
|
C#
VS2019 C# .NET 如何实现打日志功能
VS2019 C# .NET 如何实现打日志功能
117 0
|
11月前
|
C# 数据库
【C#编程最佳实践 二十】日志与日志级别
【C#编程最佳实践 二十】日志与日志级别
117 0
文本操作三剑客之grep,再也不担心分析日志了
文本操作三剑客之grep,再也不担心分析日志了
94 0
|
存储 C# 数据安全/隐私保护
C#编程-48:文本控件复习笔记_
C#编程-48:文本控件复习笔记_