Note: See http://blog.c7solutions.com/2013/02/how-to-speed-up-transport-logging.html for Exchange 2013 CU1
In Exchange 2010 SP1 and SP2 any writing to the transport log files for activity logging (not the transaction logging on the mail.que database) is cached in RAM and written to disk every five minutes.
In a lab environment you might be impacted by this as you might have sent an email and want to check the logs for the information they contain for diagnostic reasons. The problem is you might need to wait five minutes to get this information.
To reduce the memory cache time to 30 seconds set the following two entries in the Edge.Transport.exe.config file (found in \Program Files\Microsoft\Exchange Server\v14\bin) within the AppSettings area:
<add key="SmtpSendLogFlushInterval" value="0:00:30" />
<add key="SmtpRecvLogFlushInterval" value="0:00:30" />
The two values above control different log files. Each transport log file has a different setting – so its possible to set Receive Connector protocol logging to a different value from Send Connector protocol logging if you wanted to. Once you make your changes to Edge.Transport.exe.config you need to restart the Microsoft Exchange Transport service for the changes to be picked up.
Here is a list of the properties that I know about that can be changed:
- SmtpSendLogFlushInterval – Timespan value on how often to write the Send Connector protocol logging log to disk
- SmtpRecvLogFlushInterval – Timespan value on how often to write the Receive Connector protocol logging log to disk
- ConnectivityLogFlushInterval – Timespan value on how often the Connectivity log is written to disk.
In addition to the above, which are all timespan values for how often to write to disk, if the memory buffer that contains the log entries fills up then it will be written to disk as well. The default memory buffers are 1MB. So on a very busy server you might find that the log writing is not every five minutes exactly but of a more “random” nature as the buffer is filled. The following settings control the size of the buffer for the above timespans: