C 日誌操作類

2021-08-20 13:07:34 字數 4321 閱讀 3514

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 ...