From 7ff6d44efaf5dfe09320f2a67a1c8ae99370c62b Mon Sep 17 00:00:00 2001 From: david-cortes Date: Mon, 8 Jan 2024 20:43:21 +0100 Subject: [PATCH] [R] Use R's error stream for printing warnings (#9965) --- R-package/src/xgboost_custom.cc | 6 +++++- R-package/tests/testthat/test_basic.R | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/R-package/src/xgboost_custom.cc b/R-package/src/xgboost_custom.cc index f196297ec..6aaa3696a 100644 --- a/R-package/src/xgboost_custom.cc +++ b/R-package/src/xgboost_custom.cc @@ -17,7 +17,11 @@ namespace xgboost { ConsoleLogger::~ConsoleLogger() { if (cur_verbosity_ == LogVerbosity::kIgnore || cur_verbosity_ <= GlobalVerbosity()) { - dmlc::CustomLogMessage::Log(log_stream_.str()); + if (cur_verbosity_ == LogVerbosity::kWarning) { + REprintf("%s\n", log_stream_.str().c_str()); + } else { + dmlc::CustomLogMessage::Log(log_stream_.str()); + } } } TrackerLogger::~TrackerLogger() { diff --git a/R-package/tests/testthat/test_basic.R b/R-package/tests/testthat/test_basic.R index d4b3a6be3..1f6cebbca 100644 --- a/R-package/tests/testthat/test_basic.R +++ b/R-package/tests/testthat/test_basic.R @@ -83,7 +83,8 @@ test_that("parameter validation works", { bar = "foo" ) output <- capture.output( - xgb.train(params = params, data = dtrain, nrounds = nrounds) + xgb.train(params = params, data = dtrain, nrounds = nrounds), + type = "message" ) print(output) }