Index: uspace/lib/c/generic/io/logctl.c
===================================================================
--- uspace/lib/c/generic/io/logctl.c	(revision eab3d0480f33fbfac5b74bb7b810c256b8cb688d)
+++ uspace/lib/c/generic/io/logctl.c	(revision 494f417f0c783cba28829b62278c85e90f9410a7)
@@ -77,4 +77,29 @@
 }
 
+int logctl_set_namespace_level(const char *namespace, log_level_t new_level)
+{
+	int rc = connect_to_logger();
+	if (rc != EOK)
+		return rc;
+
+	async_exch_t *exchange = async_exchange_begin(logger_session);
+	if (exchange == NULL)
+		return ENOMEM;
+
+	aid_t reg_msg = async_send_1(exchange, LOGGER_CTL_SET_NAMESPACE_LEVEL,
+	    new_level, NULL);
+	rc = async_data_write_start(exchange, namespace, str_size(namespace));
+	sysarg_t reg_msg_rc;
+	async_wait_for(reg_msg, &reg_msg_rc);
+
+	async_exchange_end(exchange);
+
+	if (rc != EOK) {
+		return rc;
+	}
+
+	return (int) reg_msg_rc;
+}
+
 int logctl_get_boot_level(log_level_t *level)
 {
Index: uspace/lib/c/include/io/logctl.h
===================================================================
--- uspace/lib/c/include/io/logctl.h	(revision eab3d0480f33fbfac5b74bb7b810c256b8cb688d)
+++ uspace/lib/c/include/io/logctl.h	(revision 494f417f0c783cba28829b62278c85e90f9410a7)
@@ -37,4 +37,5 @@
 
 extern int logctl_set_default_level(log_level_t);
+extern int logctl_set_namespace_level(const char *, log_level_t);
 extern int logctl_get_boot_level(log_level_t *);
 
Index: uspace/lib/c/include/ipc/logger.h
===================================================================
--- uspace/lib/c/include/ipc/logger.h	(revision eab3d0480f33fbfac5b74bb7b810c256b8cb688d)
+++ uspace/lib/c/include/ipc/logger.h	(revision 494f417f0c783cba28829b62278c85e90f9410a7)
@@ -38,5 +38,6 @@
 typedef enum {
 	LOGGER_CTL_GET_DEFAULT_LEVEL = IPC_FIRST_USER_METHOD,
-	LOGGER_CTL_SET_DEFAULT_LEVEL
+	LOGGER_CTL_SET_DEFAULT_LEVEL,
+	LOGGER_CTL_SET_NAMESPACE_LEVEL
 } logger_control_request_t;
 
