C\#프로그램 단일 로그 출력 기능 구현
우선,당신 의 해결 방안 에서 적당 한 디 렉 터 리 에 LogManager 와 같은 클래스 를 새로 만 듭 니 다.
다음 코드 를 작성 합 니 다:
/// <summary>
///
/// </summary>
public class LogManager
{
private string _logDir; //
private static LogManager m_LogInstance; //
//
static LogManager()
{
m_LogInstance = new LogManager();
}
// ( , )
private LogManager()
{
_logDir = Environment.CurrentDirectory + "\\Log";
this.DelOldFile();
}
/// <summary>
///
/// </summary>
public static LogManager LogInstance
{
get { return m_LogInstance; }
}
/// <summary>
///
/// </summary>
/// <param name="pLog"> </param>
public void WriteLog(string pLog)
{
lock (this._logDir) // :
{
//
var vDT = DateTime.Now;
string vLogFile = string.Format("{0}\\Log{1}{2}{3}.log",_logDir,vDT.Year,vDT.Month,vDT.Day);
// ,
using (FileStream fs = new FileStream(vLogFile, FileMode.Append))
{
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("{0} >> {1}", vDT.ToString("yyyy-MM-dd HH:mm:ss"), pLog);
sw.Flush();
sw.Close();
fs.Close();
}
}
}
//
private void DelOldFile()
{
// , 。
if (!Directory.Exists(this._logDir))
{
//
Directory.CreateDirectory(this._logDir);
return;
}
var vFiles = (new DirectoryInfo(this._logDir)).GetFiles();
for (int i = vFiles.Length - 1; i >= 0; i--)
{
// ,
if (vFiles[i].Name.Contains("Log"))
{
if ((DateTime.Now - vFiles[i].LastWriteTime).Days > 7)
{
vFiles[i].Delete();
}
}
}
}
} // end class
그 중에서 8 줄-26 줄 은 단일 모델 을 실현 하 는 방법 이다.이렇게 하면 프로그램의 필요 한 위치 에서 실 행 됩 니 다.LogManager.LogInstance.WriteLog("로그 기록 이 생 성 되 었 습 니 다");
지정 한 파일 에 로그 기록 을 매개 변수 로 기록 합 니 다.
즉 2016-11-23 23:53:45 >> 로그 기록 이 생 겼 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.