Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

ParameterDescriptionExample
Engine parameters
LogFileName

Engine's log file name. If this parameter is commented or empty, the engine.log" will be used.

LogFileName = FIXAntenna_C++.log

LogDirectory

This property is the path of the directory in which the logs for all incoming (if LogIncomingMessages is set to 'true') and outgoing FIX messages are stored. It is possible to specify a path related to the EngineRoot directory. For example if LogDirectory is set to '\logs\' then the real path is $(EngineRoot)/logs. The specified directory must exist.

LogDirectory = logs
Session parameters
Debug.LogSessionExtraParameters

If this property value is true, general and extra session parameters of primary and backup connections will be printed to the log file.

If this property value is false, only general session parameters of primary and backup connections will be printed to the log file.

All FIXEdge-specific session parameters will be printed to the log regardless of Debug.LogSessionExtraParameters property value.

Debug.LogSessionExtraParameters = true
Session parameters: Storages
LogIncomingMessages

This property provides an option to log incoming FIX messages (those received) from a counterparty FIX Engine. They will be stored in the directory specified by the LogDirectory parameter in a file with the extension 'in'.

Info

Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false.

LogIncomingMessages = true
TimestampsInLogs

An option to write timestamps in the log files. This parameter is optional, the default value is true.

Info

Changing this value will impact the performance of FIX Engine. In the development should be true. In production should be false.

TimestampsInLogs = true

EnableIncrementalLogFileCreation

Setting property "true" will reserve 10Mb of disc space for logging.

If the log file reaches 10Mbs, another 10Mbs will be reserved, and so on. When the property is set to "true" FixAntenna performance is greatly increased.

EnableIncrementalLogFileCreation = true

Persistents.LogIncrementSize

This property specifies the amount of memory reserved for memory-mapped file message storage for out/in file.

Warning
Changing this value will impact upon the performance of FIX Engine. A large value is better.
Persistents.LogIncrementSize = 1000000
Persistents.IdxIncrementSize

This property specifies the amount of memory reserved for memory-mapped file message storage for idx file.

Warning
Changing this value will impact upon the performance of FIX Engine. A large value is better.
Persistents.IdxIncrementSize = 10000
SplitPersistentMsgStorage.MaxSliceSize

This property specifies the maximum size of one slice for sliced message storage.

Note: Storage slices are created with step, specified with Persistents.LogIncrementSize parameter value. If the MaxSliceSize value is no multiple of Persistents.LogIncrementSize, the result file size will be less, than specified.

If value is less than LogIncrementSize, LogIncrementSize value will be used.

Recommended value: any multiple of Persistents.LogIncrementSize

Default value is 500000000 - 500Mb.

SplitPersistentMsgStorage.MaxSliceSize = 500000000
SplitPersistentMsgStorage.BackupDir

This property is the path of the directory, where sliced message storage will search for log files in case they are not found in the primary location. It is the user's responsibility to move files from the primary location to the backup.

The default value is empty - backup path disabled.

SplitPersistentMsgStorage.BackupDir = logs/BackupDir
MessageStorage.IndexRebuildEnabled

Optional. If this parameter is set to 'true', FIX Engine will try to restore the index file from the log file in case the index file is missed or corrupted. The default value is false.

Warning

Please be careful when you enable this property: restoring process uses some heuristic algorithms, and some data (not messages) could be missed.


MessageStorage.IndexRebuildEnabled = false
NewFeatures.EnableOptimizedPersistentMMIndex

Optional. This property enables the method of maintaining the start-up of FIX sessions with log files in the PersistentMM storage marked with the 'correctly stored' flag. If this property is set to 'true' FIXEdge will skip the check of the 'stored correctly' log files in order to improve performance.

Formats of PersistentMM log files with and without enabled NewFeatures.EnableOptimizedPersistentMMIndex property are incompatible.

The default value is 'true'.

Info

The NewFeatures.EnableOptimizedPersistentMMIndex property is available since FIXEdge 6.14.0 release.

NewFeatures.EnableOptimizedPersistentMMIndex = true 
Session parameters: Unregistered Acceptors parameters
UnregisteredAcceptor.SessionStorageType

Optional. Commented. Defines the storage type for unregistered sessions.

Valid values: "persistent" | "persistentMM" | "splitPersistent" | "transient" | "null"

UnregisteredAcceptor.SessionStorageType = persistent
Backup parameters
BackupDirectoryRelative path to the backup folder. This folder will be used for message storage files of the backup connections.BackupDirectory = logs/backup
HiddenLogonCredentials

Optional. Provides an option to mask password in in/out log files.

Valid values: "true" | "false". Default value: HiddenLogonCredentials = false

HiddenLogonCredentials = true
Logging parameters: refer to Logging parameters page for details.

...

ParameterDescriptionExample

FixLayer.FixEngine.Sessions.ArchivePath

Defines the path to move log files after the session is closed.

Note: directory must exist otherwise the backup procedure will fail.

Warning

It shouldshouldn't point to the path from BackupDirectory (defined in engine.properties), otherwise error message will occur on session start, and the session won't start.

FixLayer.FixEngine.Sessions.ArchivePath = FixEdge1/log/archive
FixLayer.FixEngine.Session.Session_Name.StorageType

Mandatory.  Defines the session storage type.

Valid values: "persistent" | "persistentMM" | "splitPersistent" | "transient" | "null"

FixLayer.FixEngine.Session.TestFIXAcceptor.StorageType = persistentMM
Logging parameters: refer to Logging parameters page for details.

If you want FIXEdge to store logs in system logs or print it to the console you should change Log.Device property:

Accepted values:

...

FixLayer.FixEngine.Session.Session_Name.LogDirectory

Optional. Defines the path to the directory in which logs of the primary connection of the session are stored.

If this property was not specified with value then the value of the LogDirectory will be used.

Since FIXEdge C++ 6.14.3 release, If this property was specified with the non-existent path then FIXEdge C++ will try to create a new directory in the specified path.

Info

This parameter is available since FIXEdge C++ 6.14.0 release.

FixLayer.FixEngine.Session.TestFIXAcceptor.LogDirectory = FixEdge1/logs
FixLayer.FixEngine.Session.Session_Name.Backup.LogDirectory

Optional. Defines the path to the directory in which logs of the backup connection of the session are stored.

If this property was not specified with value then the value of the BackupDirectory will be used.

Info

This parameter is available since FIXEdge C++ 6.14.0 release.

FixLayer.FixEngine.Session.TestFIXAcceptor.Backup.LogDirectory = FixEdge1/logs/backup
Logging parameters: refer to Logging parameters page for details.

If you want FIXEdge to store logs in system logs or print it to the console you should change Log.Device property:

Accepted values:

  • File - messages will be written to the file.
  • Console - messages will be written to the console.
  • EventLog - messages will be written to the Windows Event Log (Windows-specific).
  • WinDebug - messages will be written to the OutputDebugString (Windows-specific)
  • Syslog -  messages will be written to the system log (Linux/Unix specific).

It also could be configured per category.

Info

Please see How to divide different categories and severities of log files into different files in the Logging section for details. 

Configuring logs rotation

...

Division by categories and severities

Please see How to divide different categories and severities of log files into different files in the Logging section for details. 

Best practices and commonly used cases

...