[#59483] LogLevelCommand: Add option to set log level for the whole machine
diff --git a/src/Infrastructure b/src/Infrastructure
index 1c78a17..c47c66a 160000
--- a/src/Infrastructure
+++ b/src/Infrastructure
@@ -1 +1 @@
-Subproject commit 1c78a17b4eeb3c265bf780d49419244ca33bfe62
+Subproject commit c47c66a7dac180bd559e156ebfe0be86fe6cdc84
diff --git a/tests/unit-tests/log-tests.robot b/tests/unit-tests/log-tests.robot
index e507201..a86315a 100644
--- a/tests/unit-tests/log-tests.robot
+++ b/tests/unit-tests/log-tests.robot
@@ -85,3 +85,70 @@
     Execute Command           sysbus WriteDoubleWord 0xf0000000 0x1
     Wait For Log Entry        Hello from object
     Wait For Log Entry        Hello from sub-object
+
+Should Set Machine Log Level
+    Create Machine
+
+    ${l}=  Execute Command    logLevel
+    Should Not Contain   ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+    Execute Command           logLevel 3 machine-0
+    ${l}=  Execute Command    logLevel
+
+    Should Contain       ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Contain       ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Contain       ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+Should Set Machine Log Level 2
+    Create Machine
+    Create Machine
+
+    ${l}=  Execute Command    logLevel
+
+    Should Not Contain   ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+    Should Not Contain   ${l}  machine-1:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.mem : ERROR  collapse_spaces=True
+
+    Execute Command           mach set 1
+    Execute Command           logLevel 3 machine-0
+    ${l}=  Execute Command    logLevel
+
+    Should Contain       ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Contain       ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Contain       ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+    Should Not Contain   ${l}  machine-1:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.mem : ERROR  collapse_spaces=True
+
+Should Set Machine Log Level 3
+    Create Machine
+    Create Machine
+
+    ${l}=  Execute Command    logLevel
+
+    Should Not Contain   ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+    Should Not Contain   ${l}  machine-1:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-1:sysbus.mem : ERROR  collapse_spaces=True
+
+    Execute Command           mach set 1
+    Execute Command           logLevel 3 machine-1
+    ${l}=  Execute Command    logLevel
+
+    Should Not Contain   ${l}  machine-0:sysbus : ERROR      collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Not Contain   ${l}  machine-0:sysbus.mem : ERROR  collapse_spaces=True
+
+    Should Contain       ${l}  machine-1:sysbus : ERROR      collapse_spaces=True
+    Should Contain       ${l}  machine-1:sysbus.cpu : ERROR  collapse_spaces=True
+    Should Contain       ${l}  machine-1:sysbus.mem : ERROR  collapse_spaces=True