1#ifndef _ERROR_LOGGER_H_
2#define _ERROR_LOGGER_H_
3#include "mspass/utility/ErrorLogger.h"
4#include "mspass/utility/MsPASSError.h"
5#include <boost/archive/basic_archive.hpp>
6#include <boost/archive/text_iarchive.hpp>
7#include <boost/archive/text_oarchive.hpp>
8#include <boost/serialization/list.hpp>
9#include <boost/serialization/serialization.hpp>
30 LogData(
const int jid,
const std::string alg,
39 LogData(
const int jid,
const std::string alg,
const std::string msg,
40 const mspass::utility::ErrorSeverity lvl);
45 friend boost::serialization::access;
46 template <
class Archive>
47 void serialize(Archive &ar,
const unsigned int version) {
101 int log_error(
const std::string alg,
const std::string mess,
102 const mspass::utility::ErrorSeverity level);
111 int log_verbose(
const std::string alg,
const std::string mess);
115 int size()
const {
return allmessages.size(); };
117 void clear() { allmessages.clear(); };
131 std::list<LogData> allmessages;
132 friend boost::serialization::access;
133 template <
class Archive>
134 void serialize(Archive &ar,
const unsigned int version) {
152template <
typename Tdata>
bool data_are_valid(
const Tdata &d) {
155 std::list<LogData> welog;
156 welog = d.elog.worst_errors();
158 if (welog.size() <= 0)
164 ld = *(welog.begin());
165 if (ld.badness == ErrorSeverity::Fatal ||
166 ld.badness == ErrorSeverity::Invalid)
Container to hold error logs for a data object.
Definition ErrorLogger.h:63
ErrorLogger & operator=(const ErrorLogger &parent)
Definition ErrorLogger.cc:56
int size() const
Definition ErrorLogger.h:115
int get_job_id()
Definition ErrorLogger.h:79
std::list< LogData > get_error_log() const
Definition ErrorLogger.h:113
ErrorLogger & operator+=(const ErrorLogger &parent)
Definition ErrorLogger.cc:63
int log_verbose(const std::string alg, const std::string mess)
Log a verbose message marking it informational.
Definition ErrorLogger.cc:84
ErrorLogger(int job)
Definition ErrorLogger.h:69
std::list< LogData > worst_errors() const
Definition ErrorLogger.cc:96
int log_error(const mspass::utility::MsPASSError &merr)
Definition ErrorLogger.cc:72
void set_job_id(int jid)
Definition ErrorLogger.h:77
void clear()
Definition ErrorLogger.h:117
One error-log record with provenance and severity.
Definition ErrorLogger.h:15
mspass::utility::ErrorSeverity badness
Definition ErrorLogger.h:20
friend std::ostream & operator<<(std::ostream &, LogData &)
int job_id
Definition ErrorLogger.h:17
std::string algorithm
Definition ErrorLogger.h:19
LogData()
Definition ErrorLogger.h:23
int p_id
Definition ErrorLogger.h:18
std::string message
Definition ErrorLogger.h:21
Base class for error object thrown by MsPASS library routines.
Definition MsPASSError.h:38