using system;
using system.collections.generic;
using system.web;
using system.threading;
using system.io;
using system.text.regularexpressions;
namespace xiaofeng
if (!directory.exists(logpath)) directory.createdirectory(logpath);
}#endregion
#region 屬性
/// /// 日誌儲存路徑
///private
static
string logpath = "";
////// 檔案鎖
///private
static
readonly
object filelock = new
object();
////// 是否寫日誌
///private
static boolean iswritelog = true;
////// 計時器
///private
static
int count = 0;
#endregion
#region 方法
#region 記錄日誌
/// /// 記錄日誌
//////
日誌物件
public
static
void
writelog(logdata logdata));}
////// 記錄日誌
//////
日誌型別
///日誌源
///日誌類名
///方法名
///日誌資訊
public
static
void
writelog(logtype logtype, string datasource, string classname, string functionname, string message));}
////// 記錄日誌
//////
日誌型別
///日誌資訊
public
static
void
writelog(logtype logtype, string message));}
////// 記錄日誌
//////
日誌資訊
public
static
void
writelog(string message));}
////// 記錄日誌
//////
錯誤資訊
///資訊
public
static
void
writelog(system.exception ex, string message = ""));}
////// 記錄日誌
//////
錯誤資訊
///資訊
public
static
void
error(exception ex, string message = "")
////// 記錄日誌
//////
資訊public
static
void
info(string message)
////// 記錄日誌
//////
資訊public
static
void
debug(string message)
////// 記錄日誌
//////
資訊public
static
void
sql(string message)
////// 記錄日誌
//////
資訊public
static
void
warn(string message)
#endregion
#region 檔案是否存在
/// /// 檔案是否存在
//////
檔案路徑
private
static
void
existsfile(string filepath)
┃".format(datetime.now.tostring("yyyy-mm-dd hh:mm:ss.fff")));
sw.writeline("┗━━━━━━━━━━━━━━━━━━━━━━━━━┛");
sw.writeline("");
sw.flush();
sw.close();
sw.dispose();}}
#endregion
#region 寫日誌
/// /// 寫日誌
//////
日誌資料
///日誌路徑
public
static
void
run(logdata logdata, string logpath = null)
monitor.enter(filelock);
string filepath = logpath + "\\" + datetime.now.tostring("yyyy-mm-dd") + ".log";
existsfile(filepath);
if (logdata.logtype == logtype.error)
] ".format(datetime.now.tostring("yyyy-mm-dd hh:mm:ss.fff")));
sw.writeline("日誌型別 : \t線 程 id : "
.format(logdata.logtype.tostring(), thread.currentthread.managedthreadid));
if (logdata.datasource != null && logdata.datasource != "") sw.writeline("數 據 源 : " + logdata.datasource);
if (logdata.classname != null && logdata.classname != "") sw.writeline("方法所屬類 : " + logdata.classname);
if (logdata.functionname != null && logdata.functionname != "") sw.writeline("方 法 名 : " + logdata.functionname);
sw.writeline("日誌資訊 : " + (logdata.isreplace ? logdata.message.removepattern(@"(\w+_)") : logdata.message));
sw.writeline("日誌堆疊 : " + logdata.stacktrace);
}else
if (logdata.logtype == logtype.info || logdata.logtype == logtype.debug || logdata.logtype == logtype.warn || logdata.logtype == logtype.sql)
]\t日誌型別:\t線 程 id : \r\n".format(datetime.now.tostring("yyyy-mm-dd hh:mm:ss.fff"), logdata.logtype.tostring(), thread.currentthread.managedthreadid, logdata.message));
}sw.flush();
sw.close();
sw.dispose();
monitor.exit(filelock);
}catch
run(logdata);}}
#endregion
#endregion
#region 列舉
/// /// 錯誤型別
///public
enum logtype
#endregion
#region 結構體
/// /// 日誌結構體
///public
struct logdata
#endregion
}}
除錯日誌操作類
記錄乙個最近一直在用的 日誌操作 類,改的我同事的,作用是 在需要 除錯輸出的地方,自動建立log目錄,將 操作的時候需要記錄的地方通過方法,寫入 log檔案,以便檢視。region 日誌記錄 日誌記錄類 public class logmanager return logpath set priv...
C 寫日誌類
using system using system.data using system.configuration using system.web using system.web.security using system.web.ui using system.web.ui.webcontro...
C 日誌服務類
string strpath strlogpath strdate filename datetime.today.tostring yyyymmdd replace replace replace replace replace replace filename logtype.trim log ...