Compare commits
7 Commits
main
...
6c135ed98d
| Author | SHA1 | Date | |
|---|---|---|---|
| 6c135ed98d | |||
| 0188b7438c | |||
| 9ef15068c5 | |||
| dc349aba15 | |||
| 11b9f816ad | |||
| c7a647f48a | |||
| 0aa3bf3473 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
|||||||
.vscode/**
|
.vscode/**
|
||||||
bin
|
bin
|
||||||
build
|
build
|
||||||
|
CMakeUserPresets.json
|
||||||
@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.28...3.30)
|
|||||||
project(logging)
|
project(logging)
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 99)
|
set(CMAKE_C_STANDARD 99)
|
||||||
set(CMAKE_C_CLANG_TIDY "clang-tidy")
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
add_compile_options("/source-charset:utf-8")
|
add_compile_options("/source-charset:utf-8")
|
||||||
|
|||||||
10
conanfile.py
10
conanfile.py
@@ -17,7 +17,7 @@ class loggingRecipe(ConanFile):
|
|||||||
default_options = {"shared": False, "fPIC": True,"test":True}
|
default_options = {"shared": False, "fPIC": True,"test":True}
|
||||||
|
|
||||||
|
|
||||||
exports_sources = "include/*", "CMakeLists.txt", "src/*", "tests/*"
|
exports_sources = "include/*", "CMakeLists.txt", "src/*", "tests/*", "LICENSE"
|
||||||
|
|
||||||
def config_options(self):
|
def config_options(self):
|
||||||
if self.settings.os == "Windows":
|
if self.settings.os == "Windows":
|
||||||
@@ -47,12 +47,8 @@ class loggingRecipe(ConanFile):
|
|||||||
|
|
||||||
def package(self):
|
def package(self):
|
||||||
copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
|
copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
|
||||||
copy(self, pattern="*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include"))
|
cmake = CMake(self)
|
||||||
copy(self, pattern="*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
|
cmake.install()
|
||||||
copy(self, pattern="*.so", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
|
|
||||||
copy(self, pattern="*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
|
|
||||||
copy(self, pattern="*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False)
|
|
||||||
copy(self, pattern="*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
|
|
||||||
|
|
||||||
def package_info(self):
|
def package_info(self):
|
||||||
self.cpp_info.libs = ["logging"]
|
self.cpp_info.libs = ["logging"]
|
||||||
|
|||||||
@@ -81,6 +81,13 @@ void loggingDestroyAll(void);
|
|||||||
*/
|
*/
|
||||||
void loggingDestroyLogger(Logger *logger);
|
void loggingDestroyLogger(Logger *logger);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 替换默认日志器
|
||||||
|
* @param logger 日志器
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
bool loggingReplaceDefaultLogger(Logger *logger);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define RED "\033[0;31m"
|
#define RED "\033[0;31m"
|
||||||
@@ -257,6 +256,20 @@ Logger *loggingGetLogger(const char *name) {
|
|||||||
return logger;
|
return logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool loggingReplaceDefaultLogger(Logger *logger) {
|
||||||
|
if (logger == NULL) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (ROOT_LOGGER == NULL) {
|
||||||
|
ROOT_LOGGER = logger;
|
||||||
|
} else {
|
||||||
|
loggingDestroyLogger(ROOT_LOGGER);
|
||||||
|
ROOT_LOGGER = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void loggingDestroyLogger(Logger *logger) {
|
void loggingDestroyLogger(Logger *logger) {
|
||||||
if (logger != NULL) {
|
if (logger != NULL) {
|
||||||
if (logger->handler != NULL) {
|
if (logger->handler != NULL) {
|
||||||
|
|||||||
9
test_package/CMakeLists.txt
Normal file
9
test_package/CMakeLists.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.28...3.30)
|
||||||
|
|
||||||
|
project(LoggingTest)
|
||||||
|
|
||||||
|
find_package(logging CONFIG REQUIRED)
|
||||||
|
|
||||||
|
#测试简单基本应用
|
||||||
|
add_executable(${PROJECT_NAME} src/testExmaple.c)
|
||||||
|
target_link_libraries(${PROJECT_NAME} logging::logging)
|
||||||
26
test_package/conanfile.py
Normal file
26
test_package/conanfile.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.cmake import CMake, cmake_layout
|
||||||
|
from conan.tools.build import can_run
|
||||||
|
|
||||||
|
|
||||||
|
class LoggingTestConan(ConanFile):
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
generators = "CMakeDeps", "CMakeToolchain"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.requires(self.tested_reference_str)
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
if can_run(self):
|
||||||
|
cmd = os.path.join(self.cpp.build.bindir, "LoggingTest")
|
||||||
|
self.run(cmd, env="conanrun")
|
||||||
12
test_package/src/testExmaple.c
Normal file
12
test_package/src/testExmaple.c
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#include "logging.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
Log_info("This is an info message");
|
||||||
|
Log_error("This is an error message%s", "123");
|
||||||
|
Log_fatal("This is an fatal message");
|
||||||
|
Log_debug("This is a debug message");
|
||||||
|
Log_warning("This is a warning message%s", "123");
|
||||||
|
|
||||||
|
loggingDestroyAll();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
#include "utils/logging-map.h"
|
#include "utils/logging-map.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
void foreach_callback(const char *key, void *value, void *user_data) {
|
void foreach_callback(const char *key, void *value, void *user_data) {
|
||||||
|
|||||||
Reference in New Issue
Block a user