如何控制QuickFix打印输出

Jon*_*han 5 logging stdout quickfix

我正在使用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?)
Run Code Online (Sandbox Code Playgroud)

bav*_*aza 7

当您实例化QF应用程序时,您通常会提供"工厂",例如

settings = fix.SessionSettings( fix_settings_file )
storeFactory = fix.FileStoreFactory( settings )
logFactory = fix.ScreenLogFactory( settings )
initiator = fix.SocketInitiator( self, storeFactory, settings, logFactory )
initiator.start()
Run Code Online (Sandbox Code Playgroud)

如果您传递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)
Run Code Online (Sandbox Code Playgroud)


Gro*_*ovy 6

将这些放在配置文件中应该会有所帮助.N表示不需要.

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