c#日志类

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace Qsg
{
    ///
    /// 日志类
    ///
    public class Log
    {
        //静态
        public static Log log = null;
        public static void CreateInstance()
        {
            if (Log.log == null)
            {
                Log.log = new Log();
            }
        }
        //对象
        public string logpath = AppDomain.CurrentDomain.BaseDirectory + @"Log\";
        public string logfilename = "log.txt";
        private static object syncRoot = new object();
        private int maxSize = 20 * 1024;//字节 
        public Log()
        {
            if (!System.IO.Directory.Exists(logpath)) System.IO.Directory.CreateDirectory(logpath);
        }
        ///
        /// 截取日志
        ///
        ///
        private void ShrinkLog(string fullFileName)
        {
            try
            {
                System.IO.FileStream fs = new System.IO.FileStream(fullFileName, System.IO.FileMode.OpenOrCreate);
                if (fs.Length > 2 * maxSize)
                {
                    fs.Seek(maxSize * (-1), System.IO.SeekOrigin.End);
                    byte[] arrByte = new byte[maxSize];
                    fs.Read(arrByte, 0, arrByte.Length);
                    fs.Close();
                    fs = new System.IO.FileStream(fullFileName, System.IO.FileMode.Truncate, System.IO.FileAccess.ReadWrite);
                    fs.Write(arrByte, 0, arrByte.Length);
                    fs.Flush();
                }
                fs.Close();
            }
            catch { }
            finally
            {
                 
            }
        }
        //记录日志
        public void WriteLog(string afileName,string content)
        {
            try
            {
                lock (Log.syncRoot)
                {
                    ShrinkLog(logpath + afileName);
                    File.AppendAllText(logpath + afileName, SystemConfig.sysCfg.serverTime.ToString() + " " + content + "\r\n");
                }
            }
            catch { 
            }
        }
        public void WriteLog( string content)
        {
            try
            {
                lock (Log.syncRoot)
                {
                    ShrinkLog(logpath + logfilename);
                    File.AppendAllText(logpath + logfilename, SystemConfig.sysCfg.serverTime.ToString() + " " + content + "\r\n");
                }
            }
            catch
            {
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值