diff --git a/lib/logging_utils.py b/lib/logging_utils.py
index fa441a1..5186b17 100644
--- a/lib/logging_utils.py
+++ b/lib/logging_utils.py
@@ -17,6 +17,10 @@
 gru.my_import_resource("logging_utils.robot")
 
 
+redfish_support_trans_state = int(os.environ.get('REDFISH_SUPPORT_TRANS_STATE', 0)) or \
+    int(BuiltIn().get_variable_value("${REDFISH_SUPPORT_TRANS_STATE}", default=0))
+
+
 def print_error_logs(error_logs, key_list=None):
     r"""
     Print the error logs to the console screen.
@@ -72,7 +76,10 @@
             key_list = key_list.split(" ")
         except AttributeError:
             pass
-        key_list.insert(0, var.BMC_LOGGING_ENTRY + ".*")
+        if redfish_support_trans_state:
+            key_list.insert(0, var.REDFISH_BMC_LOGGING_ENTRY + ".*")
+        else:
+            key_list.insert(0, var.BMC_LOGGING_ENTRY + ".*")
 
     gp.print_var(error_logs, key_list=key_list)
 
diff --git a/lib/logging_utils.robot b/lib/logging_utils.robot
index 9e28a80..0ef8cbe 100644
--- a/lib/logging_utils.robot
+++ b/lib/logging_utils.robot
@@ -260,6 +260,19 @@
     [Return]  ${members}
 
 
+Get Redfish Event Logs
+    [Documentation]  Pack the list of all available EventLog entries in dictionary.
+
+    ${packed_dict}=  Create Dictionary
+    ${error_logs}=  Get Event Logs
+
+    :FOR  ${idx}   IN  @{error_logs}
+       Set To Dictionary  ${packed_dict}    ${idx['@odata.id']}=${idx}
+    END
+
+    [Return]  &{packed_dict}
+
+
 Get Event Logs Not Ok
     [Documentation]  Get all event logs where the 'Severity' is not 'OK'.
 
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 1729ed1..17a329e 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -976,9 +976,13 @@
 
     if delete_errlogs:
         # print error logs before delete
-        status, error_logs = grk.run_key_u("Get Error Logs")
+        if redfish_support_trans_state:
+            status, error_logs = grk.run_key_u("Get Redfish Event Logs")
+            log.print_error_logs(error_logs, "AdditionalDataURI Message Severity")
+        else:
+            status, error_logs = grk.run_key_u("Get Error Logs")
+            log.print_error_logs(error_logs, "AdditionalData Message Severity")
         pels = pel.peltool("-l", ignore_err=1)
-        log.print_error_logs(error_logs, "AdditionalData Message Severity")
         gp.qprint_var(pels)
 
         # We need to purge error logs between boots or they build up.
@@ -1166,9 +1170,13 @@
 
     if delete_errlogs:
         # print error logs before delete
-        status, error_logs = grk.run_key_u("Get Error Logs")
+        if redfish_support_trans_state:
+            status, error_logs = grk.run_key_u("Get Redfish Event Logs")
+            log.print_error_logs(error_logs, "AdditionalDataURI Message Severity")
+        else:
+            status, error_logs = grk.run_key_u("Get Error Logs")
+            log.print_error_logs(error_logs, "AdditionalData Message Severity")
         pels = pel.peltool("-l", ignore_err=1)
-        log.print_error_logs(error_logs, "AdditionalData Message Severity")
         gp.qprint_var(pels)
 
         # Delete errlogs prior to doing any boot tests.
