Skip to content
Snippets Groups Projects
Logging.h 1.37 KiB
Newer Older
  • Learn to ignore specific revisions
  • /**
     * \file
     *
     * \copyright
    
     * Copyright (c) 2012-2023, OpenGeoSys Community (http://www.opengeosys.org)
    
     *            Distributed under a Modified BSD License.
     *              See accompanying file LICENSE.txt or
     *              http://www.opengeosys.org/project/license
     *
     */
    
    #pragma once
    
    
    Dmitri Naumov's avatar
    Dmitri Naumov committed
    #include <spdlog/logger.h>
    
    #include <memory>
    #include <string>
    
    #include <utility>
    
    #include "baselib_export.h"
    
    
    namespace BaseLib
    {
    
    extern BASELIB_EXPORT std::shared_ptr<spdlog::logger> console;
    
    void setConsoleLogLevel(std::string const& level_string);
    
    void initOGSLogger(std::string const& log_level);
    
    }  // namespace BaseLib
    
    template <typename... Args>
    
    void DBUG(fmt::format_string<Args...> fmt, Args&&... args)
    
        BaseLib::console->debug(fmt, std::forward<Args>(args)...);
    
    }
    template <typename... Args>
    
    void INFO(fmt::format_string<Args...> fmt, Args&&... args)
    
        BaseLib::console->info(fmt, std::forward<Args>(args)...);
    
    }
    template <typename... Args>
    
    void WARN(fmt::format_string<Args...> fmt, Args&&... args)
    
        BaseLib::console->warn(fmt, std::forward<Args>(args)...);
    
    }
    template <typename... Args>
    
    void ERR(fmt::format_string<Args...> fmt, Args&&... args)
    
        BaseLib::console->error(fmt, std::forward<Args>(args)...);
    
    }
    template <typename... Args>
    
    void CRITICAL(fmt::format_string<Args...> fmt, Args&&... args)
    
        BaseLib::console->critical(fmt, std::forward<Args>(args)...);