- Removing Catch2 code from codebase, will pull it via FetchContent instead.
- Changing StdOutLogger to OStreamLogger, so that test cases output can be silenced.
This commit is contained in:
@@ -12,9 +12,9 @@ namespace daggy {
|
||||
* This logger should only be used for debug purposes. It doesn't actually log anything, just prints stuff
|
||||
* to stdout.
|
||||
*/
|
||||
class StdOutLogger : public DAGLogger {
|
||||
class OStreamLogger : public DAGLogger {
|
||||
public:
|
||||
StdOutLogger();
|
||||
OStreamLogger(std::ostream &os);
|
||||
|
||||
// Execution
|
||||
virtual DAGRunID startDAGRun(std::string name, const std::vector<Task> &tasks) override;
|
||||
@@ -33,6 +33,7 @@ namespace daggy {
|
||||
private:
|
||||
DAGRunID nextRunID_;
|
||||
std::mutex guard_;
|
||||
std::ostream &os_;
|
||||
};
|
||||
}
|
||||
}
|
||||
43
daggy/src/loggers/dag_run/OStreamLogger.cpp
Normal file
43
daggy/src/loggers/dag_run/OStreamLogger.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#include <magic_enum.hpp>
|
||||
|
||||
#include <daggy/loggers/dag_run/OStreamLogger.hpp>
|
||||
|
||||
namespace daggy {
|
||||
namespace loggers {
|
||||
namespace dag_run {
|
||||
OStreamLogger::OStreamLogger(std::ostream &os) : nextRunID_(0), os_(os) {}
|
||||
|
||||
// Execution
|
||||
DAGRunID OStreamLogger::startDAGRun(std::string name, const std::vector<Task> &tasks) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
size_t runID = nextRunID_++;
|
||||
os_ << "Starting new DAGRun named " << name << " with ID " << runID << " and " << tasks.size()
|
||||
<< " tasks" << std::endl;
|
||||
return runID;
|
||||
}
|
||||
|
||||
void OStreamLogger::updateDAGRunState(DAGRunID dagRunID, RunState state) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
os_ << "DAG State Change(" << dagRunID << "): " << magic_enum::enum_name(state) << std::endl;
|
||||
}
|
||||
|
||||
void OStreamLogger::logTaskAttempt(DAGRunID dagRunID, size_t taskID, const AttemptRecord &attempt) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
const std::string &msg = attempt.rc == 0 ? attempt.output : attempt.error;
|
||||
os_ << "Task Attempt (" << dagRunID << '/' << taskID << "): Ran with RC " << attempt.rc << ": "
|
||||
<< msg << std::endl;
|
||||
}
|
||||
|
||||
void OStreamLogger::updateTaskState(DAGRunID dagRunID, TaskID taskID, RunState state) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
os_ << "Task State Change (" << dagRunID << '/' << taskID << "): " << magic_enum::enum_name(state)
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
// Querying
|
||||
std::vector<DAGRunSummary> OStreamLogger::getDAGs(uint32_t stateMask) { return {}; }
|
||||
|
||||
DAGRunRecord OStreamLogger::getDAGRun(DAGRunID dagRunId) { return {}; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
#include <magic_enum.hpp>
|
||||
|
||||
#include <daggy/loggers/dag_run/StdOutLogger.hpp>
|
||||
|
||||
namespace daggy {
|
||||
namespace loggers {
|
||||
namespace dag_run {
|
||||
StdOutLogger::StdOutLogger() : nextRunID_(0) {}
|
||||
|
||||
// Execution
|
||||
DAGRunID StdOutLogger::startDAGRun(std::string name, const std::vector<Task> &tasks) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
size_t runID = nextRunID_++;
|
||||
std::cout << "Starting new DAGRun named " << name << " with ID " << runID << " and " << tasks.size()
|
||||
<< " tasks" << std::endl;
|
||||
return runID;
|
||||
}
|
||||
|
||||
void StdOutLogger::updateDAGRunState(DAGRunID dagRunID, RunState state) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
std::cout << "DAG State Change(" << dagRunID << "): " << magic_enum::enum_name(state) << std::endl;
|
||||
}
|
||||
|
||||
void StdOutLogger::logTaskAttempt(DAGRunID dagRunID, size_t taskID, const AttemptRecord &attempt) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
const std::string &msg = attempt.rc == 0 ? attempt.output : attempt.error;
|
||||
std::cout << "Task Attempt (" << dagRunID << '/' << taskID << "): Ran with RC " << attempt.rc << ": "
|
||||
<< msg << std::endl;
|
||||
}
|
||||
|
||||
void StdOutLogger::updateTaskState(DAGRunID dagRunID, TaskID taskID, RunState state) {
|
||||
std::lock_guard<std::mutex> lock(guard_);
|
||||
std::cout << "Task State Change (" << dagRunID << '/' << taskID << "): " << magic_enum::enum_name(state)
|
||||
<< std::endl;
|
||||
}
|
||||
|
||||
// Querying
|
||||
std::vector<DAGRunSummary> StdOutLogger::getDAGs(uint32_t stateMask) { return {}; }
|
||||
|
||||
DAGRunRecord StdOutLogger::getDAGRun(DAGRunID dagRunId) { return {}; }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user