Asp.Net写文本日志

底层代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace AddLog
{
    /// <summary>
    /// 记录:文件以时间命名
    /// </summary>
    public class Log
    {
        private static System.IO.StreamWriter swt;
        private static System.IO.FileStream fs;
        /// <summary>
        /// 判断文件是否存在
        /// </summary>
        private static bool IsExsFile = false;
        public static void Init()
        {
            Init("");
        }
        /// <summary>
        /// 记录初始化
        /// </summary>
        /// <param name="DirName">文件夹名字:默认为Log</param>
        public static void Init(string DirName)
        {
            string LogPath = string.Empty;
            if (!string.IsNullOrWhiteSpace(DirName))
            {
                LogPath = Environment.CurrentDirectory + "\\" + DirName;
            }
            else
            {
                LogPath = Environment.CurrentDirectory + "\\Log";
            }
            if (!System.IO.Directory.Exists(LogPath))
            {
                System.IO.Directory.CreateDirectory(LogPath);
            }
            string LogFile = LogPath + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
          
            if (!System.IO.File.Exists(LogFile))
            {
                fs = new System.IO.FileStream(LogFile, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
                swt = new System.IO.StreamWriter(fs, Encoding.UTF8);
            }
            else
            {
                IsExsFile = true;
                swt = new System.IO.StreamWriter(LogFile,true);
            }
            
           
        }
        /// <summary>
        /// 清除缓存
        /// </summary>
        public static void Clear()
        {
            swt.Flush();
            swt.Close();
            swt.Dispose();
            if(!IsExsFile)
            {
                fs.Close();
                fs.Dispose();
            }
           
        }
        /// <summary>
        /// 写操作
        /// </summary>
        /// <param name="strTxt">写入文本</param>
        public static void Write(string strTxt)
        {
            if (swt != null)
            {
                swt.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\t" + strTxt);
            }
        }
    }
}
View Code

 

调用代码:

AddLog.Log.Init();
AddLog.Log.Write("测试");
AddLog.Log.Clear();
View Code

 

posted @ 2015-02-15 14:34  whatever_pds  阅读(258)  评论(0编辑  收藏  举报