This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a commit to branch feature/scheduled_event_on_event_thread
in repository https://gitbox.apache.org/repos/asf/celix.git

commit eda55fbeb0d38115bf9819cf2d229b3868057f9a
Author: Pepijn Noltes <[email protected]>
AuthorDate: Sun Jun 25 18:44:33 2023 +0200

    Move log level toString/fromString functions to log level header/impl
---
 libs/utils/CMakeLists.txt                 |  3 +-
 libs/utils/gtest/CMakeLists.txt           |  1 +
 libs/utils/gtest/src/LogTestSuite.cc      | 56 ++++++++++++++++++
 libs/utils/gtest/src/LogUtilsTestSuite.cc | 28 +--------
 libs/utils/include/celix_log_level.h      | 46 ++++++++++++---
 libs/utils/include/celix_log_utils.h      | 20 +++----
 libs/utils/src/celix_log_level.c          | 97 +++++++++++++++++++++++++++++++
 libs/utils/src/celix_log_utils.c          | 68 +++-------------------
 8 files changed, 214 insertions(+), 105 deletions(-)

diff --git a/libs/utils/CMakeLists.txt b/libs/utils/CMakeLists.txt
index eca64811..e9362dc0 100644
--- a/libs/utils/CMakeLists.txt
+++ b/libs/utils/CMakeLists.txt
@@ -40,6 +40,7 @@ set(UTILS_SRC
         src/utils.c
         src/ip_utils.c
         src/filter.c
+        src/celix_log_level.c
         src/celix_log_utils.c
         src/celix_hash_map.c
         src/celix_file_utils.c
@@ -51,7 +52,7 @@ set(UTILS_SRC
 set(UTILS_PRIVATE_DEPS libzip::libzip)
 set(UTILS_PUBLIC_DEPS)
 
-add_library(utils SHARED ${UTILS_SRC})
+add_library(utils SHARED ${UTILS_SRC} src/celix_log_level.c)
 
 target_link_libraries(utils PRIVATE libzip::libzip)
 set_target_properties(utils
diff --git a/libs/utils/gtest/CMakeLists.txt b/libs/utils/gtest/CMakeLists.txt
index 06af219d..d6811a96 100644
--- a/libs/utils/gtest/CMakeLists.txt
+++ b/libs/utils/gtest/CMakeLists.txt
@@ -24,6 +24,7 @@ set(CELIX_UTIL_TEST_SOURCES_FOR_CXX_HEADERS
 )
 
 add_executable(test_utils
+        src/LogTestSuite.cc
         src/LogUtilsTestSuite.cc
         src/VersionRangeTestSuite.cc
         src/TimeUtilsTestSuite.cc
diff --git a/libs/utils/gtest/src/LogTestSuite.cc 
b/libs/utils/gtest/src/LogTestSuite.cc
new file mode 100644
index 00000000..14d57651
--- /dev/null
+++ b/libs/utils/gtest/src/LogTestSuite.cc
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include <gtest/gtest.h>
+
+#include "celix_log_level.h"
+
+class LogTestSuite : public ::testing::Test {};
+
+TEST_F(LogTestSuite, LogLevelToString) {
+    EXPECT_STREQ("trace", celix_logLevel_toString(CELIX_LOG_LEVEL_TRACE));
+    EXPECT_STREQ("debug", celix_logLevel_toString(CELIX_LOG_LEVEL_DEBUG));
+    EXPECT_STREQ("info", celix_logLevel_toString(CELIX_LOG_LEVEL_INFO));
+    EXPECT_STREQ("warning", celix_logLevel_toString(CELIX_LOG_LEVEL_WARNING));
+    EXPECT_STREQ("error", celix_logLevel_toString(CELIX_LOG_LEVEL_ERROR));
+    EXPECT_STREQ("fatal", celix_logLevel_toString(CELIX_LOG_LEVEL_FATAL));
+    EXPECT_STREQ("disabled", 
celix_logLevel_toString(CELIX_LOG_LEVEL_DISABLED));
+}
+
+TEST_F(LogTestSuite, LogLevelFromString) {
+    EXPECT_EQ(CELIX_LOG_LEVEL_TRACE, celix_logLevel_fromString("trace", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_DEBUG, celix_logLevel_fromString("debug", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_INFO, celix_logLevel_fromString("info", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_WARNING, celix_logLevel_fromString("warning", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_ERROR, celix_logLevel_fromString("error", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_FATAL, celix_logLevel_fromString("fatal", 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, celix_logLevel_fromString("disabled", 
CELIX_LOG_LEVEL_DISABLED));
+
+
+    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, celix_logLevel_fromString(nullptr, 
CELIX_LOG_LEVEL_DISABLED));
+    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, celix_logLevel_fromString("garbage", 
CELIX_LOG_LEVEL_DISABLED));
+
+    bool converted;
+    EXPECT_EQ(CELIX_LOG_LEVEL_FATAL, 
celix_logLevel_fromStringWithCheck("fatal", CELIX_LOG_LEVEL_DISABLED, 
&converted));
+    EXPECT_TRUE(converted);
+    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logLevel_fromStringWithCheck(nullptr, CELIX_LOG_LEVEL_DISABLED, 
&converted));
+    EXPECT_FALSE(converted);
+    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logLevel_fromStringWithCheck("garbage", CELIX_LOG_LEVEL_DISABLED, 
&converted));
+    EXPECT_FALSE(converted);
+}
diff --git a/libs/utils/gtest/src/LogUtilsTestSuite.cc 
b/libs/utils/gtest/src/LogUtilsTestSuite.cc
index f0062b04..067d7ace 100644
--- a/libs/utils/gtest/src/LogUtilsTestSuite.cc
+++ b/libs/utils/gtest/src/LogUtilsTestSuite.cc
@@ -25,34 +25,12 @@ class LogUtilsTestSuite : public ::testing::Test {};
 
 TEST_F(LogUtilsTestSuite, LogLevelToString) {
     EXPECT_STREQ("trace", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_TRACE));
-    EXPECT_STREQ("debug", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_DEBUG));
-    EXPECT_STREQ("info", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_INFO));
-    EXPECT_STREQ("warning", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_WARNING));
-    EXPECT_STREQ("error", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_ERROR));
-    EXPECT_STREQ("fatal", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_FATAL));
-    EXPECT_STREQ("disabled", 
celix_logUtils_logLevelToString(CELIX_LOG_LEVEL_DISABLED));
+    //note rest is tested in LogTestSuite
 }
 
 TEST_F(LogUtilsTestSuite, LogLevelFromString) {
     EXPECT_EQ(CELIX_LOG_LEVEL_TRACE, 
celix_logUtils_logLevelFromString("trace", CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_DEBUG, 
celix_logUtils_logLevelFromString("debug", CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_INFO, celix_logUtils_logLevelFromString("info", 
CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_WARNING, 
celix_logUtils_logLevelFromString("warning", CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_ERROR, 
celix_logUtils_logLevelFromString("error", CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_FATAL, 
celix_logUtils_logLevelFromString("fatal", CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logUtils_logLevelFromString("disabled", CELIX_LOG_LEVEL_DISABLED));
-
-
-    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logUtils_logLevelFromString(nullptr, CELIX_LOG_LEVEL_DISABLED));
-    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logUtils_logLevelFromString("garbage", CELIX_LOG_LEVEL_DISABLED));
-
-    bool converted;
-    EXPECT_EQ(CELIX_LOG_LEVEL_FATAL, 
celix_logUtils_logLevelFromStringWithCheck("fatal", CELIX_LOG_LEVEL_DISABLED, 
&converted));
-    EXPECT_TRUE(converted);
-    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logUtils_logLevelFromStringWithCheck(nullptr, CELIX_LOG_LEVEL_DISABLED, 
&converted));
-    EXPECT_FALSE(converted);
-    EXPECT_EQ(CELIX_LOG_LEVEL_DISABLED, 
celix_logUtils_logLevelFromStringWithCheck("garbage", CELIX_LOG_LEVEL_DISABLED, 
&converted));
-    EXPECT_FALSE(converted);
+    //note rest is tested in LogTestSuite
 }
 
 TEST_F(LogUtilsTestSuite, LogToStdout) {
@@ -71,4 +49,4 @@ TEST_F(LogUtilsTestSuite, LogToStdout) {
     EXPECT_TRUE(strstr(stdOutput.c_str(), "ignore") == nullptr);
     EXPECT_TRUE(strstr(errOutput.c_str(), "testing_stderr 1 2 3") != nullptr);
     EXPECT_TRUE(strstr(stdOutput.c_str(), "ignore") == nullptr);
-}
\ No newline at end of file
+}
diff --git a/libs/utils/include/celix_log_level.h 
b/libs/utils/include/celix_log_level.h
index 82554298..67974e04 100644
--- a/libs/utils/include/celix_log_level.h
+++ b/libs/utils/include/celix_log_level.h
@@ -20,22 +20,52 @@
 #ifndef CELIX_LOG_LEVEL_H
 #define CELIX_LOG_LEVEL_H
 
+#include <stdbool.h>
+
+#include "celix_utils_export.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 typedef enum celix_log_level {
-    CELIX_LOG_LEVEL_TRACE =     0,
-    CELIX_LOG_LEVEL_DEBUG =     1,
-    CELIX_LOG_LEVEL_INFO =      2,
-    CELIX_LOG_LEVEL_WARNING =   3,
-    CELIX_LOG_LEVEL_ERROR =     4,
-    CELIX_LOG_LEVEL_FATAL =     5,
-    CELIX_LOG_LEVEL_DISABLED =  6
+    CELIX_LOG_LEVEL_TRACE = 0,
+    CELIX_LOG_LEVEL_DEBUG = 1,
+    CELIX_LOG_LEVEL_INFO = 2,
+    CELIX_LOG_LEVEL_WARNING = 3,
+    CELIX_LOG_LEVEL_ERROR = 4,
+    CELIX_LOG_LEVEL_FATAL = 5,
+    CELIX_LOG_LEVEL_DISABLED = 6
 } celix_log_level_e;
 
+/**
+ * @brief Converts a log level to a string.
+ * @param level The log level to convert.
+ * @return The string representation of the log level.
+ */
+CELIX_UTILS_EXPORT const char* celix_logLevel_toString(celix_log_level_e 
level);
+
+/**
+ * @brief Converts a string to a log level.
+ * @param[in] str The string to convert.
+ * @param[in] fallbackLogLevel The log level to return if the string is not a 
valid log level.
+ * @return The log level.
+ */
+CELIX_UTILS_EXPORT celix_log_level_e celix_logLevel_fromString(const char* 
str, celix_log_level_e fallbackLogLevel);
+
+/**
+ * @brief Converts a string to a log level.
+ * @param[in] str The string to convert.
+ * @param[in] fallbackLogLevel The log level to return if the string is not a 
valid log level.
+ * @param[out] convertedSuccessfully A pointer to a boolean which will be set 
to true if the string is a valid log
+ * level, false otherwise. Can be NULL if the caller is not interested in this 
information.
+ * @return The log level.
+ */
+CELIX_UTILS_EXPORT celix_log_level_e
+celix_logLevel_fromStringWithCheck(const char* str, celix_log_level_e 
fallbackLogLevel, bool* convertedSuccessfully);
+
 #ifdef __cplusplus
 };
 #endif
 
-#endif //CELIX_LOG_LEVEL_H
+#endif // CELIX_LOG_LEVEL_H
diff --git a/libs/utils/include/celix_log_utils.h 
b/libs/utils/include/celix_log_utils.h
index 92d21e67..3eecdbfc 100644
--- a/libs/utils/include/celix_log_utils.h
+++ b/libs/utils/include/celix_log_utils.h
@@ -32,23 +32,23 @@ extern "C" {
 #endif
 
 /**
- * Convert a celix log level enum to a const char* value.
+ * @brief Convert a celix log level enum to a const char* value.
+ * @deprecated Use celix_logLevel_toString instead.
  */
-CELIX_UTILS_EXPORT const char* 
celix_logUtils_logLevelToString(celix_log_level_e level);
+CELIX_UTILS_DEPRECATED_EXPORT const char* 
celix_logUtils_logLevelToString(celix_log_level_e level);
 
 /**
- * Convert a const char* value to a celix log level
- * If the provided log level cannot be parsed or is NULL, the fallbackLogLevel 
is returned.
+ * @brief Convert a const char* value to a celix log level.
+ * @deprecated Use celix_logLevel_fromString instead.
  */
-CELIX_UTILS_EXPORT celix_log_level_e celix_logUtils_logLevelFromString(const 
char *level, celix_log_level_e fallbackLogLevel);
+CELIX_UTILS_DEPRECATED_EXPORT celix_log_level_e 
celix_logUtils_logLevelFromString(const char* level,
+                                                                               
   celix_log_level_e fallbackLogLevel);
 
 /**
- * Convert a const char* value to a celix log level
- * If the provided log level cannot be parsed or is NULL, the fallbackLogLevel 
is returned and
- * if a convertedSuccessfully pointer is provided this will be set to false.
- * If converted successfully and the convertedSuccessfully pointer is 
provided. This will be set to true.
+ * @brief Convert a const char* value to a celix log level.
+ * @deprecated Use celix_logLevel_fromStringWithCheck instead.
  */
-CELIX_UTILS_EXPORT celix_log_level_e 
celix_logUtils_logLevelFromStringWithCheck(
+CELIX_UTILS_DEPRECATED_EXPORT celix_log_level_e 
celix_logUtils_logLevelFromStringWithCheck(
         const char *level,
         celix_log_level_e fallbackLogLevel,
         bool *convertedSuccessfully);
diff --git a/libs/utils/src/celix_log_level.c b/libs/utils/src/celix_log_level.c
new file mode 100644
index 00000000..7c85d2a7
--- /dev/null
+++ b/libs/utils/src/celix_log_level.c
@@ -0,0 +1,97 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements.  See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership.  The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+
+#include "celix_log_utils.h"
+#include <strings.h>
+
+static const char* const CELIX_STRING_VALUE_DISABLED = "disabled";
+static const char* const CELIX_STRING_VALUE_FATAL = "fatal";
+static const char* const CELIX_STRING_VALUE_ERROR = "error";
+static const char* const CELIX_STRING_VALUE_WARNING = "warning";
+static const char* const CELIX_STRING_VALUE_INFO = "info";
+static const char* const CELIX_STRING_VALUE_DEBUG = "debug";
+static const char* const CELIX_STRING_VALUE_TRACE = "trace";
+
+const char* celix_logLevel_toString(celix_log_level_e level) {
+    switch (level) {
+    case CELIX_LOG_LEVEL_DISABLED:
+        return CELIX_STRING_VALUE_DISABLED;
+    case CELIX_LOG_LEVEL_FATAL:
+        return CELIX_STRING_VALUE_FATAL;
+    case CELIX_LOG_LEVEL_ERROR:
+        return CELIX_STRING_VALUE_ERROR;
+    case CELIX_LOG_LEVEL_WARNING:
+        return CELIX_STRING_VALUE_WARNING;
+    case CELIX_LOG_LEVEL_INFO:
+        return CELIX_STRING_VALUE_INFO;
+    case CELIX_LOG_LEVEL_DEBUG:
+        return CELIX_STRING_VALUE_DEBUG;
+    default: // only trace left
+        return CELIX_STRING_VALUE_TRACE;
+    }
+}
+
+celix_log_level_e celix_logLevel_fromString(const char* str, celix_log_level_e 
fallbackLogLevel) {
+    return celix_logLevel_fromStringWithCheck(str, fallbackLogLevel, NULL);
+}
+
+celix_log_level_e
+celix_logLevel_fromStringWithCheck(const char* str, celix_log_level_e 
fallbackLogLevel, bool* convertedSuccessfully) {
+    celix_log_level_e level = fallbackLogLevel;
+    if (convertedSuccessfully != NULL) {
+        *convertedSuccessfully = true;
+    }
+    if (str != NULL) {
+        if (strncasecmp(CELIX_STRING_VALUE_DISABLED, str, 
strlen(CELIX_STRING_VALUE_DISABLED)) == 0) {
+            level = CELIX_LOG_LEVEL_DISABLED;
+        } else if (strncasecmp(CELIX_STRING_VALUE_FATAL, str, 
strlen(CELIX_STRING_VALUE_FATAL)) == 0) {
+            level = CELIX_LOG_LEVEL_FATAL;
+        } else if (strncasecmp(CELIX_STRING_VALUE_ERROR, str, 
strlen(CELIX_STRING_VALUE_ERROR)) == 0) {
+            level = CELIX_LOG_LEVEL_ERROR;
+        } else if (strncasecmp(CELIX_STRING_VALUE_WARNING, str, 
strlen(CELIX_STRING_VALUE_WARNING)) == 0) {
+            level = CELIX_LOG_LEVEL_WARNING;
+        } else if (strncasecmp(CELIX_STRING_VALUE_INFO, str, 
strlen(CELIX_STRING_VALUE_INFO)) == 0) {
+            level = CELIX_LOG_LEVEL_INFO;
+        } else if (strncasecmp(CELIX_STRING_VALUE_DEBUG, str, 
strlen(CELIX_STRING_VALUE_DEBUG)) == 0) {
+            level = CELIX_LOG_LEVEL_DEBUG;
+        } else if (strncasecmp(CELIX_STRING_VALUE_TRACE, str, 
strlen(CELIX_STRING_VALUE_TRACE)) == 0) {
+            level = CELIX_LOG_LEVEL_TRACE;
+        } else {
+            celix_logUtils_logToStdout(
+                "logUtils",
+                CELIX_LOG_LEVEL_ERROR,
+                "Cannot match log level str '%s' to an existing log level. 
Falling back to log level %s",
+                str,
+                celix_logUtils_logLevelToString(fallbackLogLevel));
+            if (convertedSuccessfully != NULL) {
+                *convertedSuccessfully = false;
+            }
+        }
+    } else {
+        celix_logUtils_logToStdout(
+            "logUtils",
+            CELIX_LOG_LEVEL_ERROR,
+            "Cannot match NULL log level str to an existing log level. Falling 
back to log level %s",
+            celix_logUtils_logLevelToString(fallbackLogLevel));
+        if (convertedSuccessfully != NULL) {
+            *convertedSuccessfully = false;
+        }
+    }
+    return level;
+}
diff --git a/libs/utils/src/celix_log_utils.c b/libs/utils/src/celix_log_utils.c
index 01349d61..62a1be63 100644
--- a/libs/utils/src/celix_log_utils.c
+++ b/libs/utils/src/celix_log_utils.c
@@ -30,70 +30,16 @@
 #include <string.h>
 #include <pthread.h>
 
-static const char * const CELIX_STRING_VALUE_DISABLED  = "disabled";
-static const char * const CELIX_STRING_VALUE_FATAL     = "fatal";
-static const char * const CELIX_STRING_VALUE_ERROR     = "error";
-static const char * const CELIX_STRING_VALUE_WARNING   = "warning";
-static const char * const CELIX_STRING_VALUE_INFO      = "info";
-static const char * const CELIX_STRING_VALUE_DEBUG     = "debug";
-static const char * const CELIX_STRING_VALUE_TRACE     = "trace";
-
-const char* celix_logUtils_logLevelToString(celix_log_level_e level) {
-    switch(level) {
-        case CELIX_LOG_LEVEL_DISABLED:
-            return CELIX_STRING_VALUE_DISABLED;
-        case CELIX_LOG_LEVEL_FATAL:
-            return CELIX_STRING_VALUE_FATAL;
-        case CELIX_LOG_LEVEL_ERROR:
-            return CELIX_STRING_VALUE_ERROR;
-        case CELIX_LOG_LEVEL_WARNING:
-            return CELIX_STRING_VALUE_WARNING;
-        case CELIX_LOG_LEVEL_INFO:
-            return CELIX_STRING_VALUE_INFO;
-        case CELIX_LOG_LEVEL_DEBUG:
-            return CELIX_STRING_VALUE_DEBUG;
-        default: //only trace left
-            return CELIX_STRING_VALUE_TRACE;
-    }
-}
+const char* celix_logUtils_logLevelToString(celix_log_level_e level) { return 
celix_logLevel_toString(level); }
 
-celix_log_level_e celix_logUtils_logLevelFromString(const char *str, 
celix_log_level_e fallbackLogLevel) {
-    return celix_logUtils_logLevelFromStringWithCheck(str, fallbackLogLevel, 
NULL);
+celix_log_level_e celix_logUtils_logLevelFromString(const char* str, 
celix_log_level_e fallbackLogLevel) {
+    return celix_logLevel_fromString(str, fallbackLogLevel);
 }
 
-celix_log_level_e celix_logUtils_logLevelFromStringWithCheck(const char *str, 
celix_log_level_e fallbackLogLevel, bool *convertedSuccessfully) {
-    celix_log_level_e level = fallbackLogLevel;
-    if (convertedSuccessfully != NULL) {
-        *convertedSuccessfully = true;
-    }
-    if (str != NULL) {
-        if (strncasecmp(CELIX_STRING_VALUE_DISABLED, str, 
strlen(CELIX_STRING_VALUE_DISABLED)) == 0) {
-            level = CELIX_LOG_LEVEL_DISABLED;
-        } else if (strncasecmp(CELIX_STRING_VALUE_FATAL, str, 
strlen(CELIX_STRING_VALUE_FATAL)) == 0) {
-            level = CELIX_LOG_LEVEL_FATAL;
-        } else if (strncasecmp(CELIX_STRING_VALUE_ERROR, str, 
strlen(CELIX_STRING_VALUE_ERROR)) == 0) {
-            level = CELIX_LOG_LEVEL_ERROR;
-        } else if (strncasecmp(CELIX_STRING_VALUE_WARNING, str, 
strlen(CELIX_STRING_VALUE_WARNING)) == 0) {
-            level = CELIX_LOG_LEVEL_WARNING;
-        } else if (strncasecmp(CELIX_STRING_VALUE_INFO, str, 
strlen(CELIX_STRING_VALUE_INFO)) == 0) {
-            level = CELIX_LOG_LEVEL_INFO;
-        } else if (strncasecmp(CELIX_STRING_VALUE_DEBUG, str, 
strlen(CELIX_STRING_VALUE_DEBUG)) == 0) {
-            level = CELIX_LOG_LEVEL_DEBUG;
-        } else if (strncasecmp(CELIX_STRING_VALUE_TRACE, str, 
strlen(CELIX_STRING_VALUE_TRACE)) == 0) {
-            level = CELIX_LOG_LEVEL_TRACE;
-        } else {
-            celix_logUtils_logToStdout("logUtils", CELIX_LOG_LEVEL_ERROR, 
"Cannot match log level str '%s' to an existing log level. Falling back to log 
level %s", str, celix_logUtils_logLevelToString(fallbackLogLevel));
-            if (convertedSuccessfully != NULL) {
-                *convertedSuccessfully = false;
-            }
-        }
-    } else {
-        celix_logUtils_logToStdout("logUtils", CELIX_LOG_LEVEL_ERROR, "Cannot 
match NULL log level str to an existing log level. Falling back to log level 
%s",  celix_logUtils_logLevelToString(fallbackLogLevel));
-        if (convertedSuccessfully != NULL) {
-            *convertedSuccessfully = false;
-        }
-    }
-    return level;
+celix_log_level_e celix_logUtils_logLevelFromStringWithCheck(const char* str,
+                                                             celix_log_level_e 
fallbackLogLevel,
+                                                             bool* 
convertedSuccessfully) {
+    return celix_logLevel_fromStringWithCheck(str, fallbackLogLevel, 
convertedSuccessfully);
 }
 
 #ifndef __UCLIBC__

Reply via email to