• C#日志类,实用.net日志操作类


    不管是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
    }
  • 相关阅读:
    什么是Redis?
    请写出常用的linux指令
    Maven常用命令有哪些?
    Maven的工程类型有哪些?
    Maven仓库是什么
    什么是Maven?
    Shiro 的优点
    比较 SpringSecurity 和 Shiro
    判断x二进制编码中1的个数的奇偶性
    寻找600851475143的最大素因子的快速算法
  • 原文地址:https://www.cnblogs.com/wangs/p/1943448.html
Copyright © 2020-2023  润新知