Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to control QuickFix printouts

I'm using QuickFix with Python bindings.
How is it possible to control QuickFix's printouts?
As far as I can tell, there are no configuration parameters for this, and QuickFix dumps a lot of logs into the stdout...

Here's an example log (replaced private info with 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☺)
like image 273
Jonathan Livni Avatar asked Jun 01 '11 15:06

Jonathan Livni


Video Answer


2 Answers

When you instantiate a QF application you typically provide 'Factories', e.g.

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

If you pass None instead of the logFactory (or equivalently omit the parameter), QF will not log messages on screen:

settings = fix.SessionSettings( fix_settings_file )
storeFactory = fix.FileStoreFactory( settings )    
initiator = fix.SocketInitiator( self, storeFactory, settings, logFactory = None) # or: fix.SocketInitiator( self, storeFactory, settings)
like image 107
bavaza Avatar answered Oct 19 '22 07:10

bavaza


Putting these in the configuration file should help. N means not required.

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

like image 36
Groovy Avatar answered Oct 19 '22 07:10

Groovy