Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
UserFile.h
1#ifndef ANTARESXPANSION_CONSOLE_H
2#define ANTARESXPANSION_CONSOLE_H
3
4#include <cstdio>
5#include <filesystem>
6#include <fstream>
7#include <ostream>
8
9#include "antares-xpansion/benders/logger/User.h"
10#include "antares-xpansion/xpansion_interfaces/ILogger.h"
11
12namespace xpansion
13{
14namespace logger
15{
16
17class UserFile: public ILogger
18{
19public:
20 explicit UserFile(const std::filesystem::path& filename);
21 ~UserFile();
22
23 void display_message(const std::string& str) override;
24 void display_message(const std::string& str,
25 LogUtils::LOGLEVEL level,
26 const std::string& context) override;
27
28 virtual void PrintIterationSeparatorBegin() override;
29 virtual void PrintIterationSeparatorEnd() override;
30
31 void log_at_initialization(const int it_number) override;
32
33 void log_iteration_candidates(const LogData& d) override;
34
35 void log_master_solving_duration(double durationInSeconds) override;
36
37 void LogSubproblemsSolvingWalltime(double durationInSeconds) override;
38
39 void LogSubproblemsSolvingCumulativeCpuTime(double durationInSeconds) override;
40
41 void log_at_iteration_end(const LogData& d) override;
42
43 void log_at_ending(const LogData& d) override;
44
45 void log_total_duration(double durationInSeconds) override;
46
47 void log_stop_criterion_reached(const StoppingCriterion stopping_criterion) override;
48 void display_restart_message() override;
49 void restart_elapsed_time(const double elapsed_time) override;
50 void number_of_iterations_before_restart(const int num_iterations) override;
51 void restart_best_iteration(const int best_iterations) override;
52 void restart_best_iterations_infos(const LogData& best_iterations_data) override;
53 void LogAtInitialRelaxation() override;
54 void LogAtSwitchToInteger() override;
55 void cumulative_number_of_sub_problem_solved(int number) override;
56
57private:
58 std::ofstream _file;
59 std::string _filename;
60};
61
62} // namespace logger
63} // namespace xpansion
64
65#endif // ANTARESXPANSION_CONSOLE_H
abstract class for operational logs
Definition ILogger.h:180
Definition UserFile.h:18
void display_message(const std::string &str) override
pure virtual method to display a std::string message
Definition UserFile.cpp:39
Definition ILogger.h:51