2017-04-21 19 views
0

ログファイルを生成するためのコードブロックを作成して、呼び出されるすべての関数を取得できるようにしました。C#のログファイルを作成するアプリケーション

私はMicrosoft.Practises.EnterpriseLibrary.Logging dllを使用して生成されたログファイルを取得しましたが、その生成方法を知ることはできますか?

string procName = "reports_plan_and_proj.plan_v_paid_inv_pay_method_sum"; 
Logger.Write("SQL:GetPlanvsPaidInvestPmtMthdSummary():: " + procName, "SQL"); 
+3

を.....しかし、質問をしたことはありません..... – Jamiec

+0

*私はそれを得る方法を知ることができます*、私はあなたのここで何を求めているのですか? – Liam

+0

http://stackoverflow.com/questions/10130504/how-to-get-the-name-of-current-function – Slai

答えて

0

のは、あなたがLogControl.Write("I want to log this") を使用して、それを呼び出し、それがこのような出力を生成何とかこの1

public class LogControl 
{ 
    private static string _Path = string.Empty; 
    private static bool DEBUG = true; 

    public static void Write(string msg) 
    { 
     _Path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 
     try 
     { 
      using (StreamWriter w = File.AppendText(Path.Combine(_Path, "log.txt"))) 
      { 
       Log(msg, w); 
      } 
      if (DEBUG) 
       Console.WriteLine(msg); 
     } 
     catch(Exception e) 
     { 
      //Handle 
     } 
    } 

    static private void Log(string msg, TextWriter w) 
    { 
     try 
     { 
      w.Write(Environment.NewLine); 
      w.Write("[{0} {1}]", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString()); 
      w.Write("\t"); 
      w.WriteLine(" {0}", msg); 
      w.WriteLine("-----------------------"); 
     } 
     catch(Exception e) 
     { 
         //Handle 
     } 
    } 
} 

のようなクラスを使用してみましょう:あなたはすでにきたものを私たちに語ってきた[1:19:34 PM Friday, April 21, 2017] I want to log this -------------

+0

これは機能しましたが、私はこれを私のアプリケーション全体に書き直す必要があります –

+0

なぜ書き直しますか?私はあなたが今まで何も記録していなければ、そこにはわずかな出現しかないと仮定します。それ以外の場合は、あなたのお気に入りのIDEに実装されている "検索と置換"機能を使用できますか? –

+0

どうですか?あなたからのニュースはありません –

関連する問題