Logging tokens
- Last Updated: January 26, 2026
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
When you use the TOKEN_FORMAT filter in a
logging configuration, you can supply tokens whose values are resolved at runtime (when
a LogEvent object is processed). The resolved values are
then used in the log message that is written to a log file provided by the ABL logging
framework. For information about the ABL application logging, see ABL Application Logging.
Here is an example.
"filters": [
{
"name": "TOKEN_FORMAT",
"format": "${t.now} ${msg.level} ${msg}"
}
]The token has the syntax ${<token>}. Some tokens have a group and an argument,
separated by a period ".". For example, the group
t(short for time), has arguments like today (the current date), now (the current timestamp), etc. | Group | Argument | Description |
|---|---|---|
msg |
The log message defined in an ILogWriter interface method and
produced in the LogEvent. |
|
level |
The log level (ERROR, WARN, INFO, DEBUG, etc). | |
logger |
The logging configuration name. | |
session |
Any readable attribute of the session handle |
You can specify any readable
attribute of the |
env |
Any environment variable | You can specify any environment variable that is
available via the OS-GETENV() ABL
function. For example, ${env.path}
would resolve to a comma-separated list of the pathnames set in the
path environment
variable. |
ver |
major |
The major version of PAS for OpenEdge. For example, if you are using version 12.0.1, this will return 12. |
minor |
The minor version of PAS for OpenEdge. For example, if you are using version 12.0.1, for example, this will return 0. | |
maint |
The service pack number of PAS for OpenEdge. For example, if you are using 12.0.1, for example, this will return 1. | |
t |
today |
The current date in ISO-DATE DATE format. For example, 2018-11-05. |
now |
The current timestamp in ISO-DATE DATETIME-TZ format. For example, 2018-11-05T14:00:07.054-05:00. | |
YYYY |
The current year, including the century. For example, 2018. | |
YY |
The current year, without the century. For example, 18 (for 2018). | |
BB |
The full name of the current month. For example, November. | |
B |
The shortened name of the current month. For example, Nov. | |
MM |
The integer value of the current month with a leading 0, if required. For example, 01 (for January). | |
M |
The integer value of the current month with no leading 0. For example, 1 (for January). | |
DD |
The integer value of the current day of the month, with a leading 0, if required. For example, 05 (for the 5th day of the current month). | |
D |
The integer value of the current day of the month, with no leading 0. For example, 5 (for the 5th day of the current month). | |
HH |
The integer value of the current hour, in 24-hour clock format. For example, 18 (for a time between 6 PM and 7 PM). | |
H |
The integer value of the current hour, in 12-hour clock format. For example, 6 (for a time between 6 AM and 7 AM or between 6 PM and 7 PM). | |
MMM |
The current minute value in the timestamp, with a leading 0. | |
SS |
The current seconds value in the timestamp, with a leading 0. | |
SSS |
The millisecond value in the current timestamp, with a leading 0. | |
Z |
The timezone, based on the current session, with a leading +/-. | |
PP |
AM or PM. | |
P |
A for AM or P for PM. | |
AA |
The full name of the day of the week. For example, Tuesday. | |
A |
The shortened name of the day of the week. For example, Tue. | |
W |
The integer day of the week, starting from Sunday. If the day of the week is Tuesday, this argument returns 3. | |
DMY |
Shorthand for ${T.DD}${T.MM}${T.YYYY} |
|
MDY |
Shorthand for ${T.MM}${T.DD}${T.YYYY} |
|
YMD |
Shorthand for ${T.YYYY}${T.MM}${T.DD} |
|
HMS |
Shorthand for ${T.HH}${T.MM}${T.SS} |
|
MTIME |
The time since midnight, in milliseconds. | |
req |
tpt |
The transport type for the request (REST, WEB, or APSV). |
ccid |
The client context ID. | |
id |
The current request ID. | |
session |
The current session ID. | |
thread |
The current thread ID. | |
web |
webapp |
The web app name. (Valid only if the session client-type is WebSpeed or Multi-Session-Agent.) |
cp |
uid |
The current user ID, obtained from the Client-Principal. |
quid |
The current qualified user ID, obtained from the Client-Principal. | |
domain |
The domain name of the current user, obtained from the Client-Principal. | |
name |
[right- segment- index]
[case-expr].<Dot.
Separated. String> |
The ${name.[right-segment-index][case-expression].<String>}token
enables you to shorten strings based on the dot "." separator in the
string. For instance, you can trim a logging configuration name like
Company.Order.Sales to C.O.S. Each
segment in the Specify an integer value in the right-segment-index to define how many segments,
starting from the right, are retained in their original form,
while others are trimmed. For example:
Specify a case expression
that applies to the trimmed segments as follows:
|