[C#일반 클래스] 로깅 클래스
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
namespace KTCommon.LOG
{
public class TraceLog
{
///
///
///
public static TraceLog m_Trace = new TraceLog((HttpRuntime.AppDomainAppId == null) ?
"d://LOG" : HttpRuntime.AppDomainAppPath + "//", "KTGJ");
public string m_LogFilePath = "";//
private string m_xmlPath = ""; //Log
private string m_FileNamePrefix = "";
StreamWriter SW;
public TraceLog(string filePath, string fileNamePrefix)
{
m_xmlPath = filePath;
m_FileNamePrefix = fileNamePrefix;
}
#region // Log
public void Trace(string tipMsg)
{
string nodeTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Trace(nodeTime, tipMsg);
tipMsg = null;
}
public void Trace(string nodeTime, string tipMsg)
{
try
{
//
string strNowY = DateTime.Now.Year.ToString();
string strNowM = DateTime.Now.Month.ToString();
string strNowD = DateTime.Now.Day.ToString();
string strNowH = DateTime.Now.Hour.ToString();
string fileName = m_FileNamePrefix + "_" + strNowH + "0000.log";
string filePath = m_xmlPath + "\\LOG\\" + strNowY + "\\" + strNowM + "\\" + strNowD + "\\";
if (nodeTime != "")
{
nodeTime = "[" + nodeTime + "] ";
}
//LOG ,
if (Directory.Exists(filePath) == false)
{
Directory.CreateDirectory(filePath);
}
m_LogFilePath = filePath + fileName;
// ,
if (File.Exists(filePath + fileName) == false)
{
if (SW != null)
{
SW.Flush();
SW.Close();
}
File.Create(filePath + fileName).Close();
SW = new StreamWriter(filePath + fileName, true, Encoding.UTF8);
}
//
if (SW == null)
{
SW = new StreamWriter(filePath + fileName, true, Encoding.UTF8);
}
// log
SW.WriteLine(nodeTime + tipMsg);
// ,
SW.Flush();
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print("TraceLog Error:" + ex.Message.ToString());
}
}
#endregion // Log
}
}
전재 대상:https://www.cnblogs.com/jhli/p/5912142.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.