@@ -196,10 +196,6 @@ void RayLog::StartRayLog(const std::string &app_name, RayLogLevel severity_thres
196196 app_name_ = app_name;
197197 log_dir_ = log_dir;
198198
199- // All the logging sinks to add.
200- std::vector<spdlog::sink_ptr> sinks;
201- auto level = static_cast <spdlog::level::level_enum>(severity_threshold_);
202-
203199 if (!log_dir_.empty ()) {
204200 // Enable log file if log_dir_ is not empty.
205201 std::string dir_ends_with_slash = log_dir_;
@@ -247,31 +243,26 @@ void RayLog::StartRayLog(const std::string &app_name, RayLogLevel severity_thres
247243 // logger.
248244 spdlog::drop (RayLog::GetLoggerName ());
249245 }
250- auto file_sink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>(
246+ file_logger = spdlog::rotating_logger_mt (
247+ RayLog::GetLoggerName (),
251248 dir_ends_with_slash + app_name_without_path + " _" + std::to_string (pid) + " .log" ,
252249 log_rotation_max_size_, log_rotation_file_num_);
253- sinks. push_back (file_sink );
250+ spdlog::set_default_logger (file_logger );
254251 } else {
255252 auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
256253 console_sink->set_pattern (log_format_pattern_);
254+ auto level = static_cast <spdlog::level::level_enum>(severity_threshold_);
257255 console_sink->set_level (level);
258- sinks.push_back (console_sink);
259- }
260256
261- // In all cases, log errors to the console log so they are in driver logs.
262- // https://github.com/ray-project/ray/issues/12893
263- auto err_sink = std::make_shared<spdlog::sinks::stderr_color_sink_mt>();
264- err_sink->set_pattern (log_format_pattern_);
265- err_sink->set_level (spdlog::level::err);
266- sinks.push_back (err_sink);
267-
268- // Set the combined logger.
269- auto logger = std::make_shared<spdlog::logger>(RayLog::GetLoggerName (), sinks.begin (),
270- sinks.end ());
271- logger->set_level (level);
272- spdlog::set_pattern (log_format_pattern_);
273- spdlog::set_level (static_cast <spdlog::level::level_enum>(severity_threshold_));
274- spdlog::set_default_logger (logger);
257+ auto err_sink = std::make_shared<spdlog::sinks::stderr_color_sink_mt>();
258+ err_sink->set_pattern (log_format_pattern_);
259+ err_sink->set_level (spdlog::level::err);
260+
261+ auto logger = std::shared_ptr<spdlog::logger>(
262+ new spdlog::logger (RayLog::GetLoggerName (), {console_sink, err_sink}));
263+ logger->set_level (level);
264+ spdlog::set_default_logger (logger);
265+ }
275266}
276267
277268void RayLog::UninstallSignalAction () {
0 commit comments