• 一个简单实用的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.");
  • 相关阅读:
    iOS学习笔记:iOS核心动画中的常用类型
    SqlServer中获取数据库中每个表的行数
    python--setUp()和tearDown()应用
    python--获取文件路径
    测试用例设计方法基础理论知识
    软件测试的基础理论
    Linux理论基础知识
    APP测试理论知识点
    Python30个基础题(三)
    Python30个基础题(二)
  • 原文地址:https://www.cnblogs.com/anjou/p/1443102.html
Copyright © 2020-2023  润新知