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