zoukankan      html  css  js  c++  java
  • C#日志记录类

    
        
        public class WriteLog
        {
            /// <summary>
            /// 将错误写入文件中
            /// </summary>
            /// <param name="fileName">文件名</param>
            /// <param name="exception">发生的异常</param>
            public static void WriteErorrLog(string fileName, Exception exception)
            {
                if (exception == null) return; //ex = null 返回 
                DateTime dt = DateTime.Now; // 设置日志时间 
                string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 时:分:秒 
                string logName = dt.ToString("yyyy-MM-dd"); //日志名称 
                string logPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, Path.Combine("log", fileName)); //日志存放路径 
                string log = Path.Combine(logPath, string.Format("{0}.log", logName)); //路径 + 名称
                try
                {
                    FileInfo info = new FileInfo(log);
                    if (info.Directory != null && !info.Directory.Exists)
                    {
                        info.Directory.Create();
                    }
                    using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
                    {
                        write.WriteLine(time);
                        write.WriteLine(exception.Message);
                        write.WriteLine("异常信息:" + exception);
                        write.WriteLine("异常堆栈:" + exception.StackTrace);
                        write.WriteLine("异常简述:" + exception.Message);
                        write.WriteLine("
    ----------------------------------
    ");
                        write.Flush();
                        write.Close();
                        write.Dispose();
                    }
                }
                catch { }
            }
    
            /// <summary>
            /// 将终端内容打印到文件中
            /// </summary>
            /// <param name="fileName">文件名</param>
            /// <param name="message">所要写入的内容</param>
            public static bool WriteMessage(string fileName, string message)
            {
                //ex = null 返回 
                DateTime dt = DateTime.Now; // 设置日志时间 
                string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 时:分:秒 
                string logName = dt.ToString("yyyy-MM-dd"); //日志名称 
                string logPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, Path.Combine("log", fileName)); //日志存放路径 
                string log = Path.Combine(logPath, string.Format("{0}.log", logName)); //路径 + 名称
                try
                {
                    FileInfo info = new FileInfo(log);
                    if (info.Directory != null && !info.Directory.Exists)
                    {
                        info.Directory.Create();
                    }
                    using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
                    {
                        write.WriteLine(time);
                        write.WriteLine("信息:" + message);
                        write.WriteLine("
    ----------------------------------
    ");
                        write.Flush();
                        write.Close();
                        write.Dispose();
                    }
                    return true;
                }
                catch (Exception e)
                {
                    WriteErorrLog("WriteMessageException", e);
                    return false;
                }
            }
    
    
            /// <summary>
            /// 将错误写入文件中
            /// </summary>
            /// <param name="exception">发生的错误</param>
            /// <param name="message">需要写入的消息</param>
            public static bool WriteErorrLog(Exception exception, string message)
            {
                if (exception == null) return false; //ex = null 返回 
                DateTime dt = DateTime.Now; // 设置日志时间 
                string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 时:分:秒 
                string logName = dt.ToString("yyyy-MM-dd"); //日志名称 
                string logPath = System.AppDomain.CurrentDomain.BaseDirectory; //日志存放路径 
                string log = Path.Combine(Path.Combine(logPath, "log"), string.Format("{0}.log", logName)); //路径 + 名称
                try
                {
                    FileInfo info = new FileInfo(log);
                    if (info.Directory != null && !info.Directory.Exists)
                    {
                        info.Directory.Create();
                    }
                    using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
                    {
                        write.WriteLine(time);
                        write.WriteLine(exception.Message);
                        write.WriteLine("异常信息:" + exception);
                        write.WriteLine("异常堆栈:" + exception.StackTrace);
                        write.WriteLine("异常简述:" + message);
                        write.WriteLine("
    ----------------------------------
    ");
                        write.Flush();
                        write.Close();
                        write.Dispose();
                    }
                    return true;
                }
                catch (Exception e)
                {
                    WriteMessage("ErrorLogException", e.ToString());
                    return false;
                }
            }
    
            /// <summary>
            /// 将消息写入文件
            /// </summary>
            /// <param name="message">需要写入的内容</param>
            public static bool WriteMessage(string message)
            {
                //ex = null 返回 
                DateTime dt = DateTime.Now; // 设置日志时间 
                string time = dt.ToString("yyyy-MM-dd HH:mm:ss"); //年-月-日 时:分:秒 
                string logName = dt.ToString("yyyy-MM-dd"); //日志名称 
                string logPath = System.AppDomain.CurrentDomain.BaseDirectory; //日志存放路径 
                // System.Console.WriteLine(logPath);
                string log = Path.Combine(Path.Combine(logPath, "log"), string.Format("{0}.log", logName)); //路径 + 名称
                try
                {
                    FileInfo info = new FileInfo(log);
                    if (info.Directory != null && !info.Directory.Exists)
                    {
                        info.Directory.Create();
                    }
                    using (StreamWriter write = new StreamWriter(log, true, Encoding.GetEncoding("utf-8")))
                    {
                        write.WriteLine(time);
                        write.WriteLine("信息:" + message);
                        write.WriteLine("
    ----------------------------------
    ");
                        write.Flush();
                        write.Close();
                        write.Dispose();
                    }
                    return true;
                }
                catch (Exception e)
                {
                    WriteErorrLog("WriteMessageException", e);
                    return false;
                }
            }
        }
    
    
    

    作者:艾孜尔江

  • 相关阅读:
    C# Json数组序列化和反序列总结
    从Excel文件中读取内容
    JS replace()用法实现replaceAll
    JS 缓存
    JS 从HTML页面获取自定义属性值
    根据IP和端口号异步短时间判断服务器是否链接
    时间戳与时间相互转换(13位)(转)
    JS enter事件及数据不完整阻止下一步操作
    JS 检测浏览器中是否安装了特定的插件
    C# Cache 缓存
  • 原文地址:https://www.cnblogs.com/ezhar/p/12864961.html
Copyright © 2011-2022 走看看