Я использовал пространство имен System.Diagnostics, чтобы выполнить регистрацию производительности с клиентом, у которого есть проблемы с нашим программным обеспечением.Временная шкала к преобразованию DateTime
Я установил все, чтобы .NET автоматически добавила текущую временную метку к записи журнала traceOutputOptions="Timestamp"
, но мне не удалось преобразовать временную метку обратно в даты для отображения (она всегда дает мне даты с года 0000).
Это не похоже на проблему, поскольку в документации говорится, что это всего лишь тики от DateTime.Now
. Поэтому, даже если они родственники, я думал, что смогу, по крайней мере, определить промежуток времени между двумя записями.
Теперь я добавил флаг даты в конфигурацию, пытаясь выяснить, как это сделать, и кажется, что эти глупые метки времени диагностики составляют 300 наносекунд вместо 100 нс. Это всегда так? Потому что я действительно не хочу возвращаться к клиенту и повторять регистрацию!
EDIT: Код Uh ... Не уверен, что вы хотите видеть. Вот новый app.config раздел:
<system.diagnostics>
<trace autoflush="true" indentsize="3" />
<sources>
<source name="Application" switchValue="All">
<listeners>
<remove name="Default" />
<add name="shared" />
</listeners>
</source>
<source name="Library" switchValue="All">
<listeners>
<remove name="Default" />
<add name="shared" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="shared"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="app.log"
traceOutputOptions="Timestamp,DateTime" />
</sharedListeners>
</system.diagnostics>
и это то, где я пытаюсь превратить Timestamp в DateTime:
long lTS = Int64.Parse(strTS);
var dt = new DateTime(lTS);
Не могли бы вы показать соответствующий код? –