Hyper-Q Error Log File
The Hyper-Q error log contains both error and informational system messages.
The error log is a comma-separated values (CSV) file, a delimited text file that uses a comma to separate values. Each line of the file is a data record. Each record consists of one or more fields, separated by commas.
Note
The error log typically contains one message per line, though messages can span multiple lines. Note that although multi-line rows are considered valid CSV format, some tools which are otherwise able to parse CSV files may encounter issues parsing multi-line messages.
If the legacy logger is enabled, a column header line is printed at the top of each log file. If the legacy logger is disabled, the header line is omitted. Regardless of the presence or absence of a column header, the log file is always formatted as a valid CSV file.
Column Name | Description |
---|---|
Time | The timestamp when the event occurred, using the local server timezone and formatted with millisecond-precision timestamps as: YYYY-MM-DD HH:MM:SS.mmm |
PID | The internal process ID of the process that published the message. This column lets you filter log messages generated by a specific process, which can be useful if you suspect a particular process has an issue. |
Session ID | The integer session identifier for the session to which the event belongs. Defaults to zero (0) if a message is not associated with a session. |
Client Request ID | The universally unique identifier (UUID) identifier for the current client request. |
LSN | An ID generated for bulk jobs that use multiple, parallel sessions. Typically, these connect different sessions with distinct session IDs that are part of the same job. Defaults to zero (0) if a message is not associated with a session, or if the associated session does not have an LSN. |
Tag Category | The tracer event category formatted as both a numeric code prefixed with |
Tag Name | The tracer event name, formatted as both a numeric code prefix with |
Tag Value | The tracer tag value (if included in the event). This value is free-form, and may span multiple lines, with the meaning of the value dependent on the particular event. |
Severity | Indicates the importance and urgency of a log message. Severity values in the error log may either be one of the standard System Logging Protocol (syslog) severity levels described in RFC 5424, or a special level of TRACE reserved for certain messages that are even lower-level than the standard DEBUG severity. The system log level setting determines whether messages below a certain severity level are included in the logs or not. To learn how to specify a severity level to be recorded to the error log, see Set the Error Log Severity Level Interactively. |
Message | The text of the log message. |
Query String | Typically, this column is unused and contains an empty string, however, it can include SQL query text alongside a log message. |
Error Log Message Codes
For most log messages, the Message Code column contains a placeholder value that corresponds to the log severity. However, certain messages have dedicated codes which make it easier to filter the log files for these messages. Standard INFO messages use DTM1000. Other severity levels use codes in the range DTM1013–DTM1021. There are hundreds of message codes, which, while not listed here, their meaning can be easily determined by looking at the text of the log message associated with it.
Set the Error Log Severity Level Interactively
You can change the severity values being recorded by the error log interactively from either a SQL client tool command shell or in a SQL script using the dtm set loglevel
command. The dtm set loglevel
command lets you change the error log severity level without having to restart Hyper-Q.
The syntax for dtm set loglevel
is:
dtm set loglevel level
where:
Parameter | Description |
---|---|
| Indicates the importance and urgency of a log message. Severity values in the error log may either be one of the standard System Logging Protocol (syslog) severity levels described in RFC 5424, or a special level of TRACE reserved for certain messages that are even lower-level than the standard DEBUG severity. The error log levels are:
|
Change the Error Log Severity Level Using the Command Shell
You can change the error log level from the command shell of your SQL client.
Log into Hyper-Q using a SQL client and valid credentials for the database instance with which Hyper-Q is associated.
Execute the command
dtm set setlevel level
, wherelevel
is one of the severity levels described earlier in this section.The Hyper-Q error log will now record messages of the severity level specified for all active sessions.
Change the Error Log Severity Level Using a Script
You can include the dtm set setlevel
command in a SQL script. In the following example the error log severity level is set to debug
.
dtm set loglevel debug;
*** Query completed. One row found. One column returned.
*** Total elapsed time was 1 second.
status
-----------------------
log level set to: debug
select CURRENT_TIMESTAMP;
*** Query completed. One row found. One column returned.
*** Total elapsed time was 1 second.
SQL_COL1
--------------------------------
192021-10-26 06:19:52.507000+00:00