Я работаю с файлом журнала, и у меня есть метод, который создает общую запись в журнал. Общая запись в журнале выглядит следующим образом:
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 ="? Например, если я хотел добавить «MODULE =» из производного класса, когда выполняется GetLogMessage. Может ли делегат быть тем, что я ищу, или отмечать метод как виртуальный и переопределяющий его, или мне нужно что-то совершенно другое?
Любая помощь будет оценена.