Время в логе

Время в логе
Atom
11/1/2012
PavelAd


Подскажите кто знает, почему при логировании в лог не выводятся миллисекунды при подгрузке исторических сделок

простой пример, вывод при закрытии свечи
Code

protected void OnCandleFinished(Candle candle) {
this.AddInfoLog("'Бар {0}'. OP={1}, MAH={2}, MAL={3}", candle.OpenTime, candle.OpenPrice, candle.High, candle.Low);
var interval = this.GetMarketTime().Subtract(candle.OpenTime);
// Если условие не выполняется значит только что закрылась свеча, а не подгружены исторические данные
if (interval.TotalMilliseconds >= 30000) {
Thread.Sleep(100); // Чтобы в лог выводилось в нужном порядке
return;
}

}


В логе выводится все равно без милисекунд:
Quote:
.....
10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:28:00'. OP=142370, MAH=142406.995801, MAL=142329.316113
10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:29:00'. OP=142560, MAH=142568.998600, MAL=142349.772038
10:42:21.000 | | TS_RIZ2@RTS_SPBFUT | 'Бар 01.11.2012 10:30:00'. OP=142550, MAH=142622.999533, MAL=142469.924013
....


В MonitorWindow записи с одинаковым временем из-за этого вообще перепутываются

Tags:


Thanks:


Геннадий Ванин (Gennady Vanin)

Avatar
Date: 12/4/2012
Reply


PavelAd
Подскажите кто знает, почему при логировании в лог не выводятся миллисекунды при подгрузке исторических сделок

простой пример, вывод при закрытии свечи
Code

protected void OnCandleFinished(Candle candle) {
this.AddInfoLog("'Бар {0}'. OP={1}, MAH={2}, MAL={3}", candle.OpenTime, candle.OpenPrice, candle.High, candle.Low);
var interval = this.GetMarketTime().Subtract(candle.OpenTime);
// Если условие не выполняется значит только что закрылась свеча, а не подгружены исторические данные
if (interval.TotalMilliseconds >= 30000) {
Thread.Sleep(100); // Чтобы в лог выводилось в нужном порядке
return;
}

}


В логе выводится все равно без милисекунд:

A смысл?
GetMarketTime() возвращает DateTime, у которого accuracy не лучше 10-15 миллисекунд

Если будете сортировать с такой точностью, то ещё больше запутаетесь
Thanks:

VassilSanych

Avatar
Date: 1/17/2013
Reply


PavelAd
В логе выводится все равно без милисекунд

Потому что форматирование стандартное.
Попробуйте так:
dateValue.ToString("MM.dd.yyyy hh:mm:ss.fff"));
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy