Protocol logging records the SMTP conversations that occur between messaging servers and between Exchange services in the transport pipeline as part of message delivery.
By default, protocol logging is enabled on the following connectors:
· The default Receive connector named Default Frontend <ServerName> in the Front End Transport service on Mailbox servers.
· The implicit and invisible Send connector in the Front End Transport service on Mailbox servers.
All Receive connectors in a transport service share the same protocol log files and protocol log options. These files and options are separate from the Send connector protocol log files and protocol log options in the same transport service on the Exchange server.
By default, Exchange uses circular logging to limit the protocol log based on file size and file age to help control the hard disk space that's used by the log files
Front End Transport service on Mailbox servers | |
Receive connectors | %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive |
Send connectors | %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpSend |
Transport service on Mailbox servers | |
Receive connectors | %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive |
Send connectors | %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend |
Mailbox Transport Delivery service on Mailbox servers | |
Receive connectors | %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpReceive\Delivery |
Mailbox Transport Submission service on Mailbox servers | |
Send connectors | %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Submission |
Protocol logging for side effect messages that are submitted after messages are delivered to mailboxes | |
| %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Delivery |
Transport service on Edge Transport servers | |
Receive connectors | %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive |
Send connectors | %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpSend |
The naming convention for log files is SEND
yyyymmdd-
nnnn.log
for Send connectors and RECV
yyyymmdd-
nnnn.log
for Receive connectors information is written to the log file until the file reaches its maximum size. Then, a new log file that has an incremented instance number is opened (the first log file is -1, the next is -2, and so on).
The protocol log files are text files that contain data in the comma-separated value file (CSV) format. Each protocol log file has a header that contains the following information:
· #Software The value is Microsoft Exchange Server
.
· #Version Version number of the Exchange server that created the message tracking log file. The value uses the format 15.01.
nnnn.
nnn.
· #Log-Type The value is either SMTP Receive Protocol Log
or SMTP Send Protocol Log
.
· #Date UTC date-time when the log file was created. The UTC date-time is represented in the ISO 8601 date-time format: yyyy-mm-ddThh:mm:ss.fffZ, where yyyy = year, mm = month, dd = day, T indicates the beginning of the time component, hh = hour, mm = minute, ss = second, fff = fractions of a second, and Z signifies Zulu, which is another way to denote UTC.
· #Fields Comma-delimited field names that are used in the protocol log files.
Circular logging deletes the oldest log files when either of the following conditions is true:
- A log file reaches its maximum age.
- The protocol log folder reaches its maximum size.
Fields in the protocol log
The protocol log stores each SMTP protocol event on a single line in the log. The information stored on each line is organized by fields, and these fields are separated by commas. The fields that are used in the protocol log are described in the following table.
Field name | Description |
date-time | UTC date-time of the protocol event. The UTC date-time is represented in the ISO 8601 date-time format: yyyy-mm-ddThh:mm:ss.fffZ, where yyyy = year,mm = month, dd = day, T indicates the beginning of the time component, hh = hour, mm = minute, ss = second, fff = fractions of a second, and Z signifies Zulu, which is another way to denote UTC. |
connector-id | Distinguished name (DN) of the connector that's associated with the SMTP event. |
session-id | GUID value that's unique for each SMTP session, but is the same for every event that's associated with that SMTP session. |
sequence-number | Counter that starts at 0 and is incremented for each event in the same SMTP session. |
local-endpoint | Local endpoint of an SMTP session. This consists of an IP address and TCP port number formatted as <IP address>:<port>. |
remote-endpoint | Remote endpoint of an SMTP session. This consists of an IP address and TCP port number formatted as <IP address>:<port>. |
event | Single character that represents the protocol event. The possible values for the event are as follows: · + Connect · - Disconnect · > Send · < Receive · * Information |
data | Text information associated with the SMTP event. |
context | Additional contextual information that may be associated with the SMTP event. |
One SMTP conversation that represents sending or receiving a single email message generates multiple SMTP events. Each event is recorded on a separate line in the protocol log. An Exchange server has many SMTP conversations going on at any given time. This creates protocol log entries from different SMTP conversations that are mixed together. You can use the session-id and sequence-number fields to sort the protocol log entries by each individual SMTP conversation.
Comments
Post a Comment