Как добавить некоторые свойства в запись журнала - PullRequest
1 голос
/ 29 января 2011

Я использую Microsoft Enterprise Library 5.0 (блок приложения для ведения журнала).Я хочу сохранить IP-адрес и имя пользователя в базе данных.Как я могу добавить эти два столбца в блок журнала приложений?

HttpContext _Context = HttpContext.Current;
Exception _ex = _Context.Server.GetLastError();
LogEntry _LogEntery = new LogEntry();
if (_ex.InnerException != null)
{
    _LogEntery.Message = _ex.InnerException.ToString();
}
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
    _ex.Data.Add("UserName", HttpContext.Current.User.Identity.Name);

}
_ex.Data.Add("IPaddress", Request.UserHostAddress);
_LogEntery.Title = _ex.Message.ToString();
_LogEntery.ExtendedProperties.Add("Ip", _ex.Data["IPaddress"]);
_LogEntery.Categories.Add("Database");
Logger.Write(_LogEntery);
_Context.Server.ClearError();

Ответы [ 2 ]

2 голосов
/ 14 ноября 2012

Этот код не был проверен

IDictionary *contextInfo* = new Hashtable();

   contextInfo.Add("Additional Info", "Some information I wanted logged");

   DebugInformationProvider provider = new DebugInformationProvider();
   provider.PopulateDictionary(contextInfo);

   LogEntry logEntry           = new LogEntry();
   logEntry.Message            = "Logged with context specific information";
   logEntry.ExtendedProperties = *contextInfo*;

   Logger.Write(logEntry);
1 голос
/ 31 января 2011

Вы можете написать непосредственно в виде строки Logger.Write ("") или вы можете создать свой собственный класс LogEntry и наследовать от LogEntry, а затем изменить форматеры в конфигурации, чтобы включить ваши новые свойства.ваш вопрос просто используйте расширенные свойства, а затем измените форматеры в конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...