log4net之類3方組件確實很方便,但是想寫個小小的demo之類的程序,有點用不起啊。
微軟自帶的TraceListener要實現一個簡易的日志幫助類還是很簡單的,直接上代碼,自己備用,也希望對同樣煩惱的哥們有用:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; namespace TestExpressionLambda { public class Logger { /// <summary> /// 默認路徑 /// </summary> public static readonly string RootPath = AppDomain.CurrentDomain.BaseDirectory + "log"; /// <summary> /// 默認文件名格式 /// </summary> public static readonly string FileFormat = DateTime.Now.ToString("yyyy-MM-dd") + ".log"; /// <summary> /// 默認Trace監聽 /// </summary> public static TextWriterTraceListener traceListener; /// <summary> /// 靜態實例 /// </summary> private static readonly Logger instance = new Logger(); static Logger() { if (!Directory.Exists(RootPath)) { Directory.CreateDirectory(RootPath); } string logFile = RootPath.TrimEnd('\\') + "\\" + FileFormat; if (!File.Exists(logFile)) { File.Create(logFile); } Trace.AutoFlush = true; traceListener = new TextWriterTraceListener(logFile); Trace.Listeners.Add(traceListener); } /// <summary> /// log輸出
/// 當然這裡可以自己隨便擴充 /// </summary> /// <param name="msg"></param> public static void Log(string msg) { Trace.WriteLine(msg); } } }
文件擴展名: .log
log意即日志,通常是系統或者某些軟件對已完成的某種處理的記錄,以便將來做為參考,它並沒有固定的格式,通常是文本文件,可以用記事本打開以查看內容,當然很可能是其它格式,直接打開就是亂碼。大部分的log可以從文件名看出它的作用,比如uninstall.log或是error.log,當然前者通常是軟件安裝過程中生成的記錄,以便將來卸載的時候可以提供給卸載程序使用,後者通常是用來記錄一些軟件運行中的錯誤信息等等。
首先,你會發現數量最多的是"i tall.log"文件,而且都在各個應用軟件的文件夾中,打開它,你可以發現它詳細地記錄了安裝信息:軟件的源路徑、安裝時間、安裝的整個過程,安裝軟件時的每一個操作,都會在這兒留下記錄,包括向WINDOWS文件夾中拷貝".dll",對注冊表進行修改,如果你有足夠耐心,你完全可以通過它自己安裝軟件(你是不是有毛病)。其實它的重要作用是為刪除軟件作准備的。如果你刪除或把這個文件從原來的文件夾中移開,你在控制面板-添加/刪除程序中不能卸載這個軟件。它可由WINDOWS下的unwise.exe或它所在文件中的unwise.exe調用,假如你執行windows\unwise.exe文件,將會彈出對話框,要求提供"*.log",這類軟件有:netants,acdsee,ultraedit,jetcar以及很多游戲。例如在注冊表中關於NETANTS(網絡螞蟻,一個國產的下載加速軟件)的卸載是這樣記錄的:
[HKEY_LOCAL_MACHINE\Software \Microsoft \Windows \CurrentVersion \Uni tall \NetAnts]
"Di layName"=" etAnt quot;
"Uni tallString"="D:\\NETANTS\\UNWISE.EXE D:\\NETANTS\\I TALL.LOG",這裡是不是看得很明顯。
當然安裝軟件的記錄文件也並一定都是用這個文件名I TALL.LOG,象vopt99(一個替代WINDOWS磁盤碎片整理的軟件)就在WINDOWS中產生一個vopt.log 的文件,它也是由WINDOWS下的unwise.exe調用來刪除軟件。
在眾多LOG文件中還有一個重要的文件是E ES56V-PI Data Fax Voice Modem.log, 注意E ES56V-PI Data Fax Voice Modem是本人的modem的名稱,也就是金網霸3621-1,這時詳細記載著每次用貓的情況,因此你用modem上網,這裡都有記錄,它記錄著你的modem的初始化命令,開始撥號時間,連接速度、斷開時間、上載、下傳數據量,不知道你看了這個文件上網時還要不要上網記費軟件,不過要注意的是,你要在MODEM的屬性中連接-高級連接設置中把"附加到日志文件"前打"√"。
此外還有" op3.log"," mtp.log","cleanup.log"這些LOG文件,這裡記錄了你每次上網收發信的詳細情況,從這裡你可以看出每次發了幾封信,收了幾封信,刪了幾封信。注意這裡本人是用out......余下全文>>
log就是記錄一些系統及一些程序運行的文件,比如一些程序有異常。通常可以通過讀取相對應的LOG文件來查看,不需要使用的時候,也可以刪除,不影響程序的使用;當然,他本身也沒有危害。只是占用多一點點硬盤空間而己。
要是想每次關機時自動清理系統的垃圾,你只需依次在運行中輸入gpedit.msc來打開組策略,在計算機配置——>Windows設置——>腳本,在右邊關機選項點右鍵,看屬性,打開的對話框中有添加選項,把你保存的.bat文件添加進去就可以了。一方面這可以實現定期自動清理垃圾,另一方面也會降低關機速度