zoukankan      html  css  js  c++  java
  • C#日志记录类(待完善,考虑多线程)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.IO;
    using System.Web.Util;
    using System.Threading;




    namespace CountApp.App_Code
    {
        public class SysLog
        {
            /// <summary>
            /// 创建文件夹
            /// </summary>
            public static void CreateLogFile()
            {
                string filePath = HttpContext.Current.Server.MapPath(@"~/temp/LogFolder/");
                if (!Directory.Exists(filePath))
                {
                    try
                    {
                        Directory.CreateDirectory(filePath);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                if (!File.Exists(filePath + "LogFile.log"))
                {
                    try
                    {
                        FileStream file = File.Create(filePath + "LogFile.log");
                        file.Dispose();
                        file.Close();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }

            /// <summary>
            ///向日志文件中写入日志
            /// </summary>
            /// <param name="logText"></param>
            public static void LogWrite(string logText)
            {
                CreateLogFile();

                string filePath = HttpContext.Current.Server.MapPath(@"~/temp/LogFolder/LogFile.log");
                StreamWriter sw = new StreamWriter(filePath, true, System.Text.Encoding.UTF8);
                try
                {
                    sw.WriteLine("/********************************/");
                    sw.WriteLine("日期:" + System.DateTime.Now.ToString());
                    sw.WriteLine();
                    sw.WriteLine(logText);
                    sw.WriteLine("/********************************/");
                    sw.WriteLine();
                    sw.WriteLine();
                    sw.Flush();
                    sw.Dispose();
                    sw.Close();
                }
                catch (Exception ex)
                {
                    sw.Dispose();
                    sw.Close();
                }
            }

            public static void LogWrite(Exception ex)
            {
                CreateLogFile();
                string filePath = HttpContext.Current.Server.MapPath(@"~/temp/LogFolder/LogFile.log");
                StreamWriter sw = new StreamWriter(filePath, true, System.Text.Encoding.UTF8);
                try
                {
                    sw.WriteLine("/********************************/");
                    sw.WriteLine("日期:" + System.DateTime.Now.ToString());
                    sw.WriteLine();
                    sw.WriteLine("错误源:" + ex.Source);
                    sw.WriteLine("错误信息:" + ex.Message);
                    sw.WriteLine("/********************************/");
                    sw.WriteLine();
                    sw.WriteLine();
                    sw.Flush();
                    sw.Dispose();
                    sw.Close();
                }
                catch (Exception e)
                {
                    sw.Dispose();
                    sw.Close();
                }
            }
        }
    }
  • 相关阅读:
    what's the python之异常处理
    what's the python之面向对象(进阶)
    what's the python之面向对象
    what's the python之自定义模块和包
    Java并发编程-并发工具包(java.util.concurrent)使用指南(全)
    Java之JUC系列:外部Tools
    java CS结构软件自动升级的实现
    史上最全最强SpringMVC详细示例实战教程
    搭建最简单的SpringMVC框架(使用maven)
    小心对待query_cache_size
  • 原文地址:https://www.cnblogs.com/wangsx/p/2039076.html
Copyright © 2011-2022 走看看