Время в логе
Atom Ответить
01.11.2012


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

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

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;
}

}


В логе выводится все равно без милисекунд:
Цитата:
.....
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 записи с одинаковым временем из-за этого вообще перепутываются

Теги:


Спасибо:




2 Ответов
Геннадий Ванин (Gennady Vanin)

Фотография
Дата: 04.12.2012
Ответить


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

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

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 миллисекунд

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

VassilSanych

Фотография
Дата: 17.01.2013
Ответить


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

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


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

loading
clippy