Knowledge base

When the event was logged

timeLogged
Logging time, not event time

The timestamp when the engine wrote the line. The format is ordinary or in seconds — this is configurable.

It is part of the default set in all record types. The field set is defined in the accounting block, and fields are worth adding deliberately: there are as many delivery records as delivered recipients, and every extra column is multiplied by that volume.

Do not confuse it with the queuing time: all the message’s waiting lies between them.

The main trap is listing fields without the star. The field is in the default set, but a list in record-fields without * replaces that set: the lines keep only the named fields, and this one disappears silently.
What the Hub does. It reads it — this is one of the fourteen fields the event normalizer parses. So the field must be included in the record, otherwise part of the telemetry will arrive empty.
Recommended values

Where the field exists and whether the star includes it:

Record type In the star
d — delivery yes
b — bounce yes
t — temporary failure yes
tq — queue failure yes
r — reception yes
rb, rs — external report yes
f — complaint yes

In a shared file an empty value comes in two kinds: the line has no data — or the field is not selected for its record type.

The record types with this field and the default set markers come from the manual (§ 12.2.1, § 12.2.2, § 12.2.3, § 12.2.4, § 12.2.5, § 12.2.6, § 12.2.7); a list without the star replaces the set — § 3.3.11.12. The table is ours.
Example configuration
<acct-file /var/log/pmta/acct.csv>
    record-fields d *, !orcpt</acct-file>
The star with ! removes an unwanted field while timeLogged stays; a list without the star would keep only what it names.
yellow — — directive names, blue — blocks. They are highlighted the same way in the text of the card.
Compatibility
PowerMTA 6.0
described in the manual of this version · platform: any
The vendor does not state the first version for every directive — there is no note here. The name also appears in the 5.0 edition of the manual.
How to check on the node
Check whether the column is in the latest accounting file:
head -1 "$(ls -t /var/log/pmta/acct-*.csv | head -1)" | tr -d '\r' | tr ',' '\n' | grep -n '^timeLogged$'
The line number in the output is the column number in the file; empty means the field is not selected for any record type in this file.
In the Hub
Cost of a mistake
safe: a wrong value breaks nothing