로그 파일을 사용하여 작업하고 있으며 로그에 일반 항목을 만드는 방법이 있습니다. 일반 로그 항목은 다음과 같습니다.메서드 내에서 문자열 중간에 내용 추가
public StringBuilder GetLogMessage(LogEventType logType, object message)
{
StringBuilder logEntry = new StringBuilder();
logEntry.AppendFormat("DATE={0} ", DateTime.Now.ToString("dd-MMM-yyyy", new CultureInfo(CommonConfig.EnglishCultureCode)));
logEntry.AppendFormat("TIME={0} ", DateTime.Now.ToString("HH:mm:ss", new CultureInfo(CommonConfig.EnglishCultureCode)));
logEntry.AppendFormat("ERRORNO={0} ", base.RemoteIPAddress.ToString().Replace(".", string.Empty));
logEntry.AppendFormat("IP={0}", base.RemoteIPAddress.ToString());
logEntry.AppendFormat("LANG={0} ", base.Culture.TwoLetterISOLanguageName);
logEntry.AppendFormat("PNR={0} ", this.RecordLocator);
logEntry.AppendFormat("AGENT={0} ", base.UserAgent);
logEntry.AppendFormat("REF={0} ", base.Referrer);
logEntry.AppendFormat("SID={0} ", base.CurrentContext.Session.SessionID);
logEntry.AppendFormat("LOGTYPE={0} ", logType.ToString());
logEntry.AppendFormat("MESSAGE={0} ", message);
return logEntry;
}
"MESSAGE ="전에 추가 매개 변수를 추가하는 가장 좋은 방법은 무엇입니까? 예를 들어 GetLogMessage가 실행될 때 파생 클래스에서 "MODULE ="을 추가하려고합니다. 위임자가 내가 찾고자하는 것이거나 가상으로 메서드를 표시하고이를 오버라이드 할 수 있습니까? 아니면 완전히 다른 것을 필요로합니까?
도움을 주시면 감사하겠습니다.
+1 내가 작성한 것과 같은 방법을 사용하지 않고도 여러 개의 사용자 정의 메시지를 추가 할 수 있기 때문에 답변이 마음에 든다. (OP에 표준 로그 메시지 형식이 없다고 가정) – Sunny
나는이 접근법을 정말 좋아한다. 메시지 형식을보다 잘 관리 할 수 있습니다. 고맙습니다! –