Some time ago I wrote an article on protocol logging for Exchange, about how useful it is for troubleshooting and encouraging Exchange admins to leave it enabled.
The article refers only to SMTP protocol logging and using it to troubleshoot email delivery issues.
As a side note, I surveyed a few of my fellow MVPs on the topic of protocol logging and opinions were split about 50/50 on whether it should be left on all the time or not. You can certainly make up your own mind about that 🙂
Anyway, in writing the chapters for the Exchange Server 2013 PowerShell Guide I explored other forms of protocol logging in Exchange and wanted to share some additional information with you.
Two other types of protocol logging are for the POP and IMAP protocols.
[PS] C:\>Get-PopSettings -Server ho-ex2010-mb1 | select *log* LoginType : SecureLogin ProtocolLogEnabled : False LogFileLocation : C:\Program Files\Microsoft\Exchange Server\V14\Logging\Pop3 LogFileRollOverSettings : Daily LogPerFileSizeQuota : 0 B (0 bytes)
[PS] C:\>Get-ImapSettings -Server ho-ex2010-mb1 | select *log* LoginType : PlainTextLogin ProtocolLogEnabled : False LogFileLocation : C:\Program Files\Microsoft\Exchange Server\V14\Logging\Imap4 LogFileRollOverSettings : Daily LogPerFileSizeQuota : 0 B (0 bytes)
These POP and IMAP protocol logs can be as useful as SMTP protocol logs in troubleshooting situations, but there is something missing – retention settings.
With SMTP protocol logging you can use retention settings to limit the amount of log data on the server by age or by directory size – for example you could set a maximum age of 30 days and a maximum directory size of 500mb, which will mean logs are discarded when either of those limits is reached.
POP and IMAP protocol logging have no such limits. They will be generated by the server and consume more and more disk space until eventually that volume will run out of free disk space. Running out of disk space is not good for Exchange servers, as I’m sure you’re well aware.
There are two ways around this:
- Configure the log file location to a dedicated volume that won’t impact the server if it runs out of disk space. I don’t consider this to be very efficient use of storage but if you have plenty of it spare then you could consider it.
- Use a scheduled task to run a script that removes files older than a specified number of days. There are PowerShell scripts that can easily be found on various blogs and community sites for this.
My preference though is to just leave POP and IMAP protocol logging off until there is a specific need to enable them.