mmdeploy/csrc/core/logger.h
lvhan028 36124f6205
Merge sdk (#251)
* check in cmake

* move backend_ops to csrc/backend_ops

* check in preprocess, model, some codebase and their c-apis

* check in CMakeLists.txt

* check in parts of test_csrc

* commit everything else

* add readme

* update core's BUILD_INTERFACE directory

* skip codespell on third_party

* update trt_net and ort_net's CMakeLists

* ignore clion's build directory

* check in pybind11

* add onnx.proto. Remove MMDeploy's dependency on ncnn's source code

* export MMDeployTargets only when MMDEPLOY_BUILD_SDK is ON

* remove useless message

* target include directory is wrong

* change target name from mmdeploy_ppl_net to mmdeploy_pplnn_net

* skip install directory

* update project's cmake

* remove useless code

* set CMAKE_BUILD_TYPE to Release by force if it isn't set by user

* update custom ops CMakeLists

* pass object target's source lists

* fix lint end-of-file

* fix lint: trailing whitespace

* fix codespell hook

* remove bicubic_interpolate to csrc/backend_ops/

* set MMDEPLOY_BUILD_SDK OFF

* change custom ops build command

* add spdlog installation command

* update docs on how to checkout pybind11

* move bicubic_interpolate to backend_ops/tensorrt directory

* remove useless code

* correct cmake

* fix typo

* fix typo

* fix install directory

* correct sdk's readme

* set cub dir when cuda version < 11.0

* change directory where clang-format will apply to

* fix build command

* add .clang-format

* change clang-format style from google to file

* reformat csrc/backend_ops

* format sdk's code

* turn off clang-format for some files

* add -Xcompiler=-fno-gnu-unique

* fix trt topk initialize

* check in config for sdk demo

* update cmake script and csrc's readme

* correct config's path

* add cuda include directory, otherwise compile failed in case of tensorrt8.2

* clang-format onnx2ncnn.cpp

Co-authored-by: zhangli <lzhang329@gmail.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
2021-12-07 10:57:55 +08:00

104 lines
2.6 KiB
C++

// Copyright (c) OpenMMLab. All rights reserved.
#ifndef CORE_LOG_H
#define CORE_LOG_H
#include <spdlog/spdlog.h>
namespace mmdeploy {
spdlog::logger *GetLogger();
void SetLogger(spdlog::logger *logger);
} // namespace mmdeploy
// Honor spdlog settings if supported
#if defined(SPDLOG_ACTIVE_LEVEL) && defined(SPDLOG_LEVEL_OFF)
#define MMDEPLOY_LEVEL_TRACE SPDLOG_LEVEL_TRACE
#define MMDEPLOY_LEVEL_DEBUG SPDLOG_LEVEL_DEBUG
#define MMDEPLOY_LEVEL_INFO SPDLOG_LEVEL_INFO
#define MMDEPLOY_LEVEL_WARN SPDLOG_LEVEL_WARN
#define MMDEPLOY_LEVEL_ERROR SPDLOG_LEVEL_ERROR
#define MMDEPLOY_LEVEL_CRITICAL SPDLOG_LEVEL_CRITICAL
#define MMDEPLOY_LEVEL_OFF SPDLOG_LEVEL_OFF
#if !defined(MMDEPLOY_ACTIVE_LEVEL)
#define MMDEPLOY_ACTIVE_LEVEL SPDLOG_ACTIVE_LEVEL
#endif
#else
#define MMDEPLOY_LEVEL_TRACE 0
#define MMDEPLOY_LEVEL_DEBUG 1
#define MMDEPLOY_LEVEL_INFO 2
#define MMDEPLOY_LEVEL_WARN 3
#define MMDEPLOY_LEVEL_ERROR 4
#define MMDEPLOY_LEVEL_CRITICAL 5
#define MMDEPLOY_LEVEL_OFF 6
#if !defined(MMDEPLOY_ACTIVE_LEVEL)
#define MMDEPLOY_ACTIVE_LEVEL MMDEPLOY_LEVEL_INFO
#endif
#endif
#ifdef SPDLOG_LOGGER_CALL
#define MMDEPLOY_LOG(level, ...) SPDLOG_LOGGER_CALL(mmdeploy::GetLogger(), level, __VA_ARGS__)
#else
#define MMDEPLOY_LOG(level, ...) mmdeploy::GetLogger()->log(level, __VA_ARGS__)
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_TRACE
#define MMDEPLOY_TRACE(...) MMDEPLOY_LOG(spdlog::level::trace, __VA_ARGS__)
#else
#define MMDEPLOY_TRACE(...) (void)0;
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_DEBUG
#define MMDEPLOY_DEBUG(...) MMDEPLOY_LOG(spdlog::level::debug, __VA_ARGS__)
#else
#define MMDEPLOY_DEBUG(...) (void)0;
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_INFO
#define MMDEPLOY_INFO(...) MMDEPLOY_LOG(spdlog::level::info, __VA_ARGS__)
#else
#define MMDEPLOY_INFO(...) (void)0;
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_WARN
#define MMDEPLOY_WARN(...) MMDEPLOY_LOG(spdlog::level::warn, __VA_ARGS__)
#else
#define MMDEPLOY_WARN(...) (void)0;
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_ERROR
#define MMDEPLOY_ERROR(...) MMDEPLOY_LOG(spdlog::level::err, __VA_ARGS__)
#else
#define MMDEPLOY_ERROR(...) (void)0;
#endif
#if MMDEPLOY_ACTIVE_LEVEL <= MMDEPLOY_LEVEL_CRITICAL
#define MMDEPLOY_CRITICAL(...) MMDEPLOY_LOG(spdlog::level::critical, __VA_ARGS__)
#else
#define MMDEPLOY_CRITICAL(...) (void)0;
#endif
#undef CRITICAL
#undef ERROR
#undef WARN
#undef INFO
#undef DEBUG
#undef TRACE
#define CRITICAL MMDEPLOY_CRITICAL
#define ERROR MMDEPLOY_ERROR
#define WARN MMDEPLOY_WARN
#define INFO MMDEPLOY_INFO
#define DEBUG MMDEPLOY_DEBUG
#define TRACE MMDEPLOY_TRACE
#endif // !CORE_LOG_H