程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 用TextWriterTraceListener實現建議log文件記錄,tracelistener

用TextWriterTraceListener實現建議log文件記錄,tracelistener

編輯:C#入門知識

用TextWriterTraceListener實現建議log文件記錄,tracelistener


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意即日志,通常是系統或者某些軟件對已完成的某種處理的記錄,以便將來做為參考,它並沒有固定的格式,通常是文本文件,可以用記事本打開以查看內容,當然很可能是其它格式,直接打開就是亂碼。大部分的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就是記錄一些系統及一些程序運行的文件,比如一些程序有異常。通常可以通過讀取相對應的LOG文件來查看,不需要使用的時候,也可以刪除,不影響程序的使用;當然,他本身也沒有危害。只是占用多一點點硬盤空間而己。
要是想每次關機時自動清理系統的垃圾,你只需依次在運行中輸入gpedit.msc來打開組策略,在計算機配置——>Windows設置——>腳本,在右邊關機選項點右鍵,看屬性,打開的對話框中有添加選項,把你保存的.bat文件添加進去就可以了。一方面這可以實現定期自動清理垃圾,另一方面也會降低關機速度
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved