C#日志

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace DHY.Lib

{

    public class LogHelper

    {

        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; }

        }

 

        /// <summary>

        /// 写日志

        /// </summary>

        /// <param name="preFileName">文件名前缀</param>

        /// <param name="msg">日志内容</param>

        /// <param name="logType">日志类型</param>

        public static void WriteLog(string preFileName, string msg,LogType logType)

        {

            try

            {

                string filePath = string.Format("{0}\logs\{1}\",LogPath, DateTime.Now.ToString("yyyyMMdd"));

                string fileName = string.Format("{0}_{1}.log",preFileName,logType.ToString());

                if (!Directory.Exists(filePath))

                {

                    Directory.CreateDirectory(filePath);

                }

                string fileFullName = filePath + fileName;

                System.IO.StreamWriter sw = System.IO.File.AppendText(fileFullName);

                //sw.WriteLine(DateTime.Now.ToString("--------------------------------------开始-------------------------------------------"));

                sw.WriteLine("【"+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: fff")+"】");

                sw.WriteLine(DateTime.Now.ToString(msg));

                //sw.WriteLine(DateTime.Now.ToString("======================================结束==========================================="));

                sw.Close();

            }

            catch(Exception e)

            {

                throw (e);

            }

        }

 

        /// <summary>

        /// 写日志

        /// </summary>

        /// <param name="msg">日志内容</param>

        /// <param name="logType">日志类型</param>

        public static void WriteLog(string preFileName, string msg )

        {

            WriteLog(preFileName,msg,LogType.Remark);

        }

        /// <summary>

        /// 日志类型

        /// </summary>

        public enum LogType

        {

            Remark,

            Trace,

            Warning,

            Error,

            SQL,

        }

    }

}

 

原文地址:https://www.cnblogs.com/D-H-Y/p/9921423.html