當然了,可以使用:log4net 庫;
但目前該功能需求不需要用到這麼強大的日誌管理;直接寫檔案記錄;所以就寫了乙個簡單的;
這是半成品,還可以用,還有地方可以優化;
但再優化前,可讀性比較好,我就上傳了:
using system;
using system.text;
using system.io;
using system.diagnostics;
using system.threading.tasks;
using system.threading;
using system.runtime.interopservices;
namespace testing
else
}private static bool handlerroutine(int ctrltype)
return false;
}private static void write(string msg)
lock (locker)
}++continuecount;
if (continuecount > continuecountmax)
if (!continue_writesw.isrunning)}}
private static void _writebuffer()
}writer = new streamwriter(loggerfilename, true, encoding.utf8);
writer.writeline(continuewritecaches);
writer.flush();
writer.close();
}continue_writesw.stop();
continue_writesw.reset();
continuewritecaches = null;
continuecount = 0;
interlocked.increment(ref allwritecount);}}
public partial class logger
_write(s_infocolor, "[info]" + msg);
}// remove log when debug complete.
public static void debug(string msg, params object ps)
_write(s_debugcolor, "[debug]" + msg);
}// remove log when bug fixed.
public static void warning(string msg, params object ps)
_write(s_warningcolor, "[warning]" + msg);
}// remove log when error fixed.
public static void error(string msg, params object ps)
_write(s_errorcolor, "[error]" + msg);
}private static void _write(consolecolor color, string msg)}}
}
測試呼叫:
for (int i = 0; i < 300; i++)
logger.debug("write count : " + logger.allwritecount); // 總呼叫io寫的次數為:2次。。。但寫的內容次數就超過300
pxe高效能批量網路裝機
一 部署ftp服務 1 安裝ftp服務,並將安裝源複製到 var ftp centos7目錄下 root localhost yum y install vsftpd root localhost mkdir var ftp centos7 root localhost cp ar media va...
關於批量資料更新的問題 C 高效能
當你批量運算元據的時候,常常會使用到update table1 from table2 的這種方式。這種方式是最簡潔的。但當你從excel或者 檔案更新海量資料時,再使用這種方法,那效能是不是好,字串拼接又何其之多,大資料是不是需要分組更新?我需要使用到的類主要是sqlcommandbuilder。...
muduo的高效能非同步日誌
1 乙個日誌庫大體可分為前端 frontend 與後端 backend 前端是 用程式使用的介面 api 並生成日誌資訊 後端則是負責將日誌資訊寫到目的地。每個執行緒都有自己的前端,而整個程式共用乙個後端。對於生產者 前端 而言,要盡量做到低延遲 低cpu開銷 無阻塞 對消費者 後端 而言,要盡量做...