zoukankan      html  css  js  c++  java
  • 一个简单实用的C#日志类

        不管是Web应用还是Windows Forms 应用,系统日志我们都经常用到。日志可以帮助我们跟踪监视系统的运行状况,及时发现错误,输出调式信息等。记录日志的方法很多,比如用文本文件、XML文件、数据库等。而用文本文件记录日志是最常用的方法之一。

    这里就是一个用文本文件记录日志的简单实用的日志类,它有如下几个特点:

    1)按日期每天生产不同日志文件,方便按照日期来查找日志。

    2)按日志类型生产不同的文件,比如 跟踪信息、警告信息、错误信息用不同的日志文件来记录;方便我们查找指定类型的日志。

    3)可以指定保持日志文件文件夹,如果不指定日志文件夹,Web应用保存到Bin文件夹,Windows Forms应用保存到.EXE文件所在的文件夹。

    4)可以指定日志文件的前缀。

     

    public class LogManager
    {
        private static string logPath = string.Empty;
        /// <summary>
        /// 保存日志的文件夹
        /// </summary>
        public static string LogPath
        {
            get
            {
                if (logPath == string.Empty)
                {
                    if (System.Web.HttpContext.Current == null)
                        // Windows Forms 应用
                        logPath = AppDomain.CurrentDomain.BaseDirectory;
                    else
                        // Web 应用
                        logPath = AppDomain.CurrentDomain.BaseDirectory + @"bin\";
                }
                return logPath;
            }
            set{ logPath = value;}
        }

        private static string logFielPrefix = string.Empty;
        /// <summary>
        /// 日志文件前缀
        /// </summary>
        public static string LogFielPrefix
        {
            get { return logFielPrefix; }
            set { logFielPrefix = value; }
        }

        /// <summary>
        /// 写日志
        /// </summary>
        public static void WriteLog(string logFile, string msg)
        {
            try
            {
                System.IO.StreamWriter sw = System.IO.File.AppendText(
                    LogPath + LogFielPrefix + logFile + " " + 
                    DateTime.Now.ToString("yyyyMMdd") + ".Log"
                    );
                sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + msg);
                sw.Close();
            }
            catch
            { }
        }

        /// <summary>
        /// 写日志
        /// </summary>
        public static void WriteLog(LogFile logFile, string msg)
        {
            WriteLog(logFile.ToString(), msg);
        }
    }

    /// <summary>
    /// 日志类型
    /// </summary>
    public enum LogFile
    {
        Trace,
        Warning,
        Error,
        SQL
    }

     

     使用方法:

    LogManager.LogFielPrefix = "ERP ";
    LogManager.LogPath = @"C:\";
    LogManager.WriteLog(LogFile.Trace, "A test Msg.");

  • 相关阅读:
    学习笔记-Python-Django-环境搭建、路由
    Python数据科学-技术详解与商业实践(文末附资源)
    09 Django 模型(数据库)
    pandas入门
    08 Django 模板进阶
    Django学习中常见问题
    07 Django 模板
    06 Django URL name详解
    05 Django 视图与网址进阶
    04 Django 视图与网址-urls.py
  • 原文地址:https://www.cnblogs.com/EthanSun/p/2955017.html
Copyright © 2011-2022 走看看