본문 바로가기

Development/c#

[C#] 경과 시간 확인 하기

반응형

Log 를 생성할 경우 메소드의 경과 시간이 필요 할 경우가 있다.

이번에는 경과 시간을 확인 해 보도록 하겠다.

구문은 다음과 같다.

using System.Diagnostics;

public void GetElapsedTime()
{
    Stopwatch sw = new Stopwatch();
    sw.Start();
    for (int i = 0; i < 10; i++)
    {
        Thread.Sleep(1000);
    }

    Debug.WriteLine(string.Format("[경과시간] {0} Total Hours", sw.Elapsed.TotalHours.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Hours", sw.Elapsed.Hours.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Total Minutes", sw.Elapsed.TotalMinutes.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Minutes", sw.Elapsed.Minutes.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Total Seconds", sw.Elapsed.TotalSeconds.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Seconds", sw.Elapsed.Seconds.ToString()));
    Debug.WriteLine(string.Format("[경과시간] {0} Milliseconds", sw.ElapsedMilliseconds.ToString()));

}

결과는 다음과 같다.

결과 출력창

Log 사용 시 아래와 같이 사용이 가능하다.

using System.Diagnostics;
using System.Threading;

public void LogMethod()
{
    Stopwatch sw = new Stopwatch();
    sw.Start();
    try
    {
        // 로직 행
        for (int i = 0; i < 10; i++)
        {
            Thread.Sleep(1000);
        }

    }
    catch (Exception ex)
    {

        throw ex;
    }
    finally
    {
        Log(System.Reflection.MethodBase.GetCurrentMethod(),  sw);
    }
           

}

public void Log(System.Reflection.MethodBase method, Stopwatch sw )
{
    Debug.WriteLine(string.Format("[{0}.{1}] (경과시간) {2} Seconds", method.ReflectedType.FullName, method.Name, sw.Elapsed.TotalSeconds.ToString()));
}

결과 창

MethodBase
 

[C#] 현재 실행하는 메소스 정보 확인

현재 실행하는 메소스 정보를 확인해 보도록 하겠다. using System.Reflection; public void GetMethodInfo() { Debug.WriteLine(string.Format("Class Full Name : {0}", MethodBase.GetCurrentMethod().Reflect..

blissfuljoon.tistory.com

 

반응형