Как управлять распечатками QuickFix - PullRequest
5 голосов
/ 01 июня 2011

Я использую QuickFix с привязками Python.
Как можно контролировать распечатки QuickFix?
Насколько я могу судить, для этого нет параметров конфигурации , и QuickFix сбрасывает много логов в стандартный вывод ...

Вот пример журнала (заменил личную информацию на xxxxx)

<20110603-16:56:28.172, FIX.4.3:xxxxx->xxxxx, incoming>
  (8=FIX.4.3☺9=310☺35=W☺34=5☺49=xxxxx☺52=20110603-16:57:01.872☺56=xxxxx☺57=xxxxx☺55=xxxxx☺262=cb8f5a29-25bb-4f7b-9ec7-a9a8975715eb☺460=4☺541=20110607☺268=2☺269=0☺270=2.76323☺15=xxxxx☺271=2000000☺276=A☺282=xxxxx☺299=1914b8d_BID☺290=0☺269=1☺270=2.76323☺15=xxxxx☺271=2000000☺276=A☺282=xxxxx☺299=xxxxx☺290=0☺10=xxxxx☺)

Ответы [ 4 ]

7 голосов
/ 02 января 2013

Когда вы создаете экземпляр приложения QF, вы обычно предоставляете «Фабрики», например,

settings = fix.SessionSettings( fix_settings_file )
storeFactory = fix.FileStoreFactory( settings )
logFactory = fix.ScreenLogFactory( settings )
initiator = fix.SocketInitiator( self, storeFactory, settings, logFactory )
initiator.start()

Если вы передадите None вместо logFactory (или эквивалентно пропустите параметр), QF не будет регистрировать сообщения на экране:

settings = fix.SessionSettings( fix_settings_file )
storeFactory = fix.FileStoreFactory( settings )    
initiator = fix.SocketInitiator( self, storeFactory, settings, logFactory = None) # or: fix.SocketInitiator( self, storeFactory, settings)
6 голосов
/ 10 июля 2012

Помещение их в файл конфигурации должно помочь. N означает не требуется.

ScreenLogEvents = N ScreenLogShowIncoming = N ScreenLogShowOutgoing = N ScreenLogShowHeartBeats = N

1 голос
/ 01 июня 2011

Используете ли вы эти параметры конфигурации и эти, то есть FileStorePath ? Они ведут запись всех сообщений в файл и папку, указанные в файле конфигурации. И один вопрос, не являются ли эти сообщения журнала вашими?

В библиотеке не так много операторов cout для входа в stdout, но в файлы журналов.

И операторы cout, о которых вы беспокоитесь, находятся в Log.h файле. Вы можете закомментировать их или перенаправить в файл.

0 голосов
/ 30 августа 2011

Может быть, вы можете просто перенаправить в / dev / null Я не хотел бы удалять их из кода, так как они очень помогают в отладке.

...