You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2023/06/28 15:23:53 UTC
[celix] 37/42: Move log level toString/fromString functions to log level header/impl
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 <pn...@apache.org>
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__