logger.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include <cuml/common/logger_macros.hpp>
9 
10 #include <rapids_logger/logger.hpp>
11 
12 namespace ML {
13 
22 inline rapids_logger::sink_ptr default_sink()
23 {
24  auto* filename = std::getenv("CUML_DEBUG_LOG_FILE");
25  return (filename == nullptr)
26  ? static_cast<rapids_logger::sink_ptr>(std::make_shared<rapids_logger::stderr_sink_mt>())
27  : static_cast<rapids_logger::sink_ptr>(
28  std::make_shared<rapids_logger::basic_file_sink_mt>(filename, true));
29 }
30 
36 inline std::string default_pattern() { return "[%6t][%H:%M:%S:%f][%-6l] %v"; }
37 
43 inline rapids_logger::logger& default_logger()
44 {
45  static rapids_logger::logger logger_ = [] {
46  rapids_logger::logger logger_{"CUML", {default_sink()}};
47  logger_.set_pattern(default_pattern());
48  logger_.set_level(rapids_logger::level_enum::warn);
49  return logger_;
50  }();
51  return logger_;
52 }
53 
54 } // namespace ML
Definition: dbscan.hpp:18
rapids_logger::sink_ptr default_sink()
Returns the default sink for the global logger.
Definition: logger.hpp:22
std::string default_pattern()
Returns the default log pattern for the global logger.
Definition: logger.hpp:36
rapids_logger::logger & default_logger()
Get the default logger.
Definition: logger.hpp:43