logger.cs
来自「《精通ASP.NET2.0网络应用系统开发》书中的源码」· CS 代码 · 共 87 行
CS
87 行
using System;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Threading;
using webvisitStatistic.HitsHandler.DBLayer;
using webvisitStatistic;
namespace webvisitStatistic
{
/// <summary>
/// Logger 的摘要说明。
/// </summary>
public class Logger : IDisposable
{
protected Logger()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static Logger Instance
{
get{
if(null==_theLogger)
{
_theLogger = new Logger();
return _theLogger;
}
return _theLogger;
}
}
public bool Init(String conn)
{
_LogFile = conn; // ConfigurationSettings.AppSettings[SettingLogFileName];
if(_LogFile==null) return false;
_writer = File.AppendText(_LogFile);
if(null==_writer) return false;
return true;
}
public void Log(String type,String level,String msg)
{
Debug.Assert(_writer!=null);
Monitor.Enter(_writer);
_writer.WriteLine("{0}{1}{2} : {3}",type,level,DateTime.Now.ToLongTimeString(),msg);
Monitor.Exit(_writer);
}
public void LogStatInfo(StatInfo st)
{
Log("Stat","Norm",st.ToString());
}
#region IDisposable 成员
public void Dispose()
{
// TODO: 添加 Logger.Dispose 实现
if(_writer!=null)
{
try{
_writer.Flush();
_writer.Close();
}catch(Exception ex)
{
}finally{
_writer = null;
}
}
}
#endregion
private String _LogFile;
private const String SettingLogFileName = "LogFileName";
private StreamWriter _writer;
protected static Logger _theLogger = null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?