21 const std::filesystem::path &report_file_path_string,
22 bool expert_log_at_console) {
23 auto masterLogger = std::make_shared<xpansion::logger::Master>();
25 std::make_shared<xpansion::logger::UserFile>(report_file_path_string);
26 masterLogger->addLogger(user_file);
28 if (!expert_log_at_console) {
29 auto loggerUser = std::make_shared<xpansion::logger::User>(std::cout);
30 masterLogger->addLogger(loggerUser);
33 logger = masterLogger;
35 inline Logger get_logger()
const {
return logger; }
44 const BENDERSMETHOD &method,
bool console_log,
45 const std::filesystem::path &math_logs_file_path =
"") {
46 if (math_logs_file_path !=
"") {
47 auto math_logger_file =
48 std::make_shared<MathLoggerFile>(method, math_logs_file_path);
49 math_logger_driver.add_logger(math_logger_file);
53 auto math_logger_ostream = std::make_shared<MathLoggerOstream>(method);
55 math_logger_driver.add_logger(math_logger_ostream);
59 std::shared_ptr<MathLoggerDriver> get_logger() {
60 return std::make_shared<MathLoggerDriver>(math_logger_driver);
62 static std::shared_ptr<MathLoggerDriver> get_void_logger() {
63 return std::make_shared<MathLoggerDriver>();