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();
                }
            }
        }
    }
  • 相关阅读:
    Docker-compose编排微服务顺序启动解决方案
    在笔记本上使用virtualbox搭建lvs dr 实验遇到的问题
    MongoDB安装配置(RedHat/CentOS)
    wget 用法
    Ubuntu查看crontab运行日志
    CentOS-6.5安装Zabbix 3.0.4
    centos 6 安装vsftpd与PAM虚拟用户
    python socket常用接口说明
    cmake 构建工程
    std::vector的下标访问和迭代器访问的效率
  • 原文地址:https://www.cnblogs.com/wangsx/p/2039076.html
Copyright © 2011-2022 走看看