DataStream 2 lets you append additional data fields such as headers, cookies, or any performance data to each log line. The value of the data is maximum 1000 bytes and is typically based on a dynamically generated built-in system variable. To include a custom field in your stream, you need to define it in the Log Request Details behavior in Property Manager or the Property Manager API.
Using this behavior, you can control logging the value you set for the custom log field, what cookie information you want to log, and which of the following headers should be logged part of your logs:
-
User-Agent
-
Accept-Language
-
Cookie
-
Referer
-
Edge Server IP
-
X-Forwarded-For
Follow these steps to add a custom field to your stream:
-
Add or edit the Log Request Details behavior in the property configurations for which you want to collect a custom log field. Configure the
customLogFieldto log a custom field. -
Configure your stream's
datasetFieldIdsarray to include the identifier of a custom data field. See Create a stream or Edit a stream.
Dynamic time variables
DataStream 2 lets you use dynamic time variables in folder paths where you store logs and names of log files that you upload to your Amazon S3, Azure Storage, Google Cloud Storage, and Oracle Cloud destinations.
Use {} to enter a dynamic variable. These are supported dynamic variables:
%Yfor a year. For example,2021.%mfor a month (01-12). For example,03.%dfor a day (01-31). For example,31.%Hfor an hour (00-23). For example,15.%streamIdfor the ID of the stream. For example,65938.%streamVersionfor the version of the stream. For example,2.
You can combine static values and dynamic variables in a string of up to 255 characters in the path member to point to the folder path where you want to store logs. On sending a log file to this path, the system resolves dynamic variables into the current date, time, and hour in the UTC standard. Multiple dynamic variables separated by / within one {} create separate folders. For example, {%Y/%m/%d/} creates these folders 2020/10/05. Multiple variables joined without a separator create one folder. For example, {%Y}{%m}{%d} creates a 20201005 folder.
Here are examples of valid paths in connector configurations and the folder paths created in destinations:
| Path in configuration | Path in destination |
|---|---|
logs/{%Y/%m/%d} | logs/2022/10/27 |
{%m}-logs/diagnostics | 05-logs/diagnostics |
diagnostics/{%Y}/{%m}/{%d}{%H} | diagnostics/2022/11/0516 |
logs/{%Y}-{%m}-{%d}/stream-{%streamId}/{%streamVersion) | logs/2022-11-05/stream-65938/2 |
Custom prefix and suffix
Log files that the system uploads to your destination follow this naming pattern: uploadFilePrefix-{random-string}-{epoch-timestamp}-{random-string}-uploadFileSuffix. You can customize the uploadFilePrefix and uploadFileSuffix values of these files.
-
You can use static values and dynamic variables in a string of up to 200 characters in
uploadFilePrefixnames of log files that you upload to destinations. On sending a log file, the system resolves dynamic variables into the current date, time, and hour. You can use multiple dynamic values separated by-,_, or no separator inside or outside the{}regions. Filename prefixes don't allow.characters, as using them may result in errors and data loss. If unspecified, theuploadFilePrefixvalue defaults toak. -
You can use static values in a string of up to 10 characters in
uploadFileSuffixnames of log files that you upload to destinations. Filename suffixes don't allow dynamic values, and.,/,%,?characters, as using them may result in errors and data loss. If unspecified, theuploadFileSuffixvalue defaults tods.
Here are examples of valid prefix and suffix names in log files:
| Prefix | Suffix | File name |
|---|---|---|
{%Y}-{%m}-{%d} | akam | 2022-10-27-rps79rkvx-1666884947-dkmzsi6z8-akam |
diagnostics{%Y-%m-%d} | logs | diagnostics2022-12-01-8ds3lufkh-1669908947-m1onxoa16-logs |
{%m}-{%streamId}-{%streamVersion}-diagnostics | akam | 12-65938-2-diagnostics-dk4j0sh3m-1669856400-9kv08v9oy-akam |
upload-{%m_%d_%H}-{%streamId}-file | data | upload-04_23_18-65938-file-gao0pip6y-1650736800-981bz2ipd-data |
Unspecified (ak by default) | Unspecified (ds by default) | ak-ae47rr5a8-1650736800-ae47rg6hu-ds |
