Skip to content

TorchCS Logger is an extension of spdlog. It is generally used for console applications, such as bots or server software

License

Notifications You must be signed in to change notification settings

TorchCS-MC/Logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

TorchCS Logger is an extension of spdlog. It is generally used for console applications, such as bots or server software

Required Tools

  • CMake 3.20+ (recommended)
  • A C++20 compiler:
    • Windows: MSVC (Visual Studio 2022) or MinGW
    • Linux: GCC 11+ or Clang 14+

CMake

include(FetchContent)

FetchContent_Declare(
    torchcs_logger
    GIT_REPOSITORY https://github.com/TorchCS-MC/Logger.git
    GIT_TAG [release_version]
)

FetchContent_MakeAvailable(torchcs_logger)

target_link_libraries(your_project PRIVATE torchcs::logger)

Example Code

#include <torchcs/spdlog/spdlog_provider.hpp>
#include <torchcs/spdlog/sinks/console_sink.hpp>
#include <torchcs/spdlog/log_level.hpp>
#include <torchcs/spdlog/sinks/file_sink.hpp>

#include <spdlog/spdlog.h>

#include <memory>
#include <vector>

int main() {
    auto my_console_sink = std::make_shared<torchcs::logger::sinks::ConsoleSink>();
    auto file_sink = std::make_shared<torchcs::logger::sinks::FileSink>("logs/cool", 1024 * 1024 * 5);

    std::vector<std::shared_ptr<spdlog::sinks::sink>> sinks = {my_console_sink, file_sink};
    auto console_logger = std::make_shared<spdlog::logger>("TorchCS", sinks.begin(), sinks.end());

    console_logger->set_level(spdlog::level::trace);

    torchcs::logger::SpdLogProvider provider(console_logger);

    provider.setLevel(torchcs::logger::level::Type::Trace);

    provider.log(torchcs::logger::level::Type::Info, torchcs::logger::color::Type::PINK + "Hello World");
    provider.log(torchcs::logger::level::Type::Info, "§aHello World");
    provider.log(torchcs::logger::level::Type::Debug, "Hello World");
    provider.log(torchcs::logger::level::Type::Warn, "Hello World");
    provider.log(torchcs::logger::level::Type::Error, "Hello World");

    return 0;
}

License

This project is licensed under the MIT License.
See the LICENSE file for more details.

About

TorchCS Logger is an extension of spdlog. It is generally used for console applications, such as bots or server software

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published