diff --git a/common/log.c b/common/log.c
index c9fe352..b2b5f3c 100644
--- a/common/log.c
+++ b/common/log.c
@@ -130,17 +130,25 @@
 	return false;
 }
 
-bool log_has_file(const char *file_list, const char *file)
+/**
+ * log_has_member() - check if a string is in a comma separated list
+ *
+ * @list:	Comma separated list of strings
+ * @member:	String to find
+ *
+ * Return: ``true`` if @member is in @list, else ``false``
+ */
+static bool log_has_member(const char *list, const char *member)
 {
-	int file_len = strlen(file);
+	int member_len = strlen(member);
 	const char *s, *p;
 	int substr_len;
 
-	for (s = file_list; *s; s = p + (*p != '\0')) {
+	for (s = list; *s; s = p + (*p != '\0')) {
 		p = strchrnul(s, ',');
 		substr_len = p - s;
-		if (file_len >= substr_len &&
-		    !strncmp(file + file_len - substr_len, s, substr_len))
+		if (member_len >= substr_len &&
+		    !strncmp(member + member_len - substr_len, s, substr_len))
 			return true;
 	}
 
@@ -181,7 +189,7 @@
 			continue;
 
 		if (filt->file_list &&
-		    !log_has_file(filt->file_list, rec->file))
+		    !log_has_member(filt->file_list, rec->file))
 			continue;
 
 		if (filt->flags & LOGFF_DENY)
diff --git a/include/log.h b/include/log.h
index 4f6d6a2..3f9023a 100644
--- a/include/log.h
+++ b/include/log.h
@@ -571,18 +571,6 @@
  */
 bool log_has_cat(enum log_category_t cat_list[], enum log_category_t cat);
 
-/**
- * log_has_file() - check if a file is with a list
- *
- * @file_list: List of files to check, separated by comma
- * @file: File to check for. This string is matched against the end of each
- *	file in the list, i.e. ignoring any preceding path. The list is
- *	intended to consist of relative pathnames, e.g. common/main.c,cmd/log.c
- *
- * Return: ``true`` if @file is in @file_list, else ``false``
- */
-bool log_has_file(const char *file_list, const char *file);
-
 /* Log format flags (bit numbers) for gd->log_fmt. See log_fmt_chars */
 enum log_fmt {
 	LOGF_CAT	= 0,
