반응형
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
반응형
'Development > c#' 카테고리의 다른 글
[C#] IPConfig 결과 값 받아오기 (0) | 2021.05.31 |
---|---|
[C#] 현재 실행하는 메소스 정보 확인 (0) | 2020.12.15 |
「C#」Clickonce 설치 시 "응용프로그램 설치 - 보안 경로" 로 인해 설치가 안될때 (0) | 2020.11.23 |
[c#] DateTime 차이 계산 (0) | 2020.07.24 |
「c#」Microsoft.CSharp.RuntimeBinder.CSharpArugmentIfo.Create 멤버가 필요한 컴파일러가 없습니다 . 오류 (0) | 2020.07.16 |