Вопрос

Я использую Boggating Application Block с C # .NET 2.0. Мой код регистрирует информацию об ошибке в плоский файл. Я установил всю необходимую конфигурацию в Web.config, как слушатели, форматтели и категории и т. Д., Как описано в MSDN, и он работает нормально. Но проблема в том, что я не могу поставить более 50 символов в отеле Le.message. В моем случае след стоков составляет более 500 чаринцев, которые я хочу войти в плоский файл, когда возникает ошибка.

Есть ли ограничение на количество характеристиков, мы можем поставить внутреннее свойство сообщения объекта входной записи? Или есть ли другой способ для регистрации трассировки стека в Flat File File?

Вот простой код.

LogEntry le = new LogEntry();
le.Categories.Add("ErrorsToEventLog");
le.Categories.Add("ErrorsToLogFile");
le.Title = "Error message";
le.TimeStamp = System.DateTime.Now;
le.Severity = System.Diagnostics.TraceEventType.Error;
le.Message = "<text of error's stack trace>";
Logger.write(le);

Настройки конфигурации

<configSections>
 <section name="loggingConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=null" />

<section name="dataConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=null" />
</configSections>

Вот форматер, который я использовал,

<formatters>
<add template="Timestamp: {timestamp} Message: {message}" 
type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, 
Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0,
Culture=neutral, PublicKeyToken=null" name="Text Formatter" />
</formatters>

И вот слушатель,

<add fileName="Logs/ErrorLog_{Date}.log" 
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.
CustomTraceListenerData,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, 
PublicKeyToken=null" traceOutputOptions="None"
type="EnterpriseLibrary.Logging.Extensions.RollingFlatFileTraceListener,
EnterpriseLibrary.Logging.Extensions, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null" name="Custom TraceListener" initializeData="" />

Категории

<categorySources>
<add switchValue="All" name="ErrorsToEventLog">
<listeners>
<add name="Formatted EventLog TraceListener" />
</listeners>
</add>
<add switchValue="All" name="ErrorsToLogFile">
<listeners>
    <add name="Custom TraceListener" />
</listeners>
</add>
</categorySources>
Это было полезно?

Решение

Для моих знаний нет такого предела для сообщения журнала. Как вы устанавливаете трассировку стека к сообщению?

Другие советы

Предполагая, что ваш анализ правильный (для меня это не удобно дважды проверить прямо сейчас), рассмотрели ли вы создать подкласс для входа в систему, у которых нет пределов, которым вы работаете?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top