20 #include <json/json.h> 45 void init(
const std::string& app_name,
const std::string& app_version,
46 std::string
server=
"", std::string local_log_file=
"");
59 Snoop&
operator()(
const std::string& type, std::string fl=
"",
int loc=-1, std::string method=
"");
99 AppEntry(
const std::string& uuid_, uint64_t create_millis_, uint64_t receive_millis_, uint64_t pid_,
100 const std::string& ip_address_,
const std::string& machine_id_,
101 const std::string& app_name_,
const std::string& app_version_,
102 const std::string& user_id_,
105 std::string
to_json(
bool human_readable)
const;
127 LogEntry(
int log_id_,
int client_log_id_,
int id_,
const std::string&,
128 uint64_t, uint64_t,
const std::string&,
int,
const std::string&,
129 const std::string&,
const std::string&,
int status);
131 std::string
to_json(
bool human_readable)
const;
169 #define LOC __FILE__, __LINE__, __func__ Snoop & operator()(const std::string &type, std::string fl="", int loc=-1, std::string method="")
Operator to initialise a logging entry with the type of the log message as well as (optionally) the f...
Definition: Snoop.cc:852
std::string to_json(bool human_readable) const
Definition: Snoop.cc:919
SnoopImpl * impl
Definition: Snoop.hh:152
std::ostringstream out_
Definition: Snoop.hh:149
std::string get_user_uuid(const std::string &app_name)
Get a string which uniquely identifies the current user.
Definition: Snoop.cc:168
int log_id
Definition: Snoop.hh:134
const char fatal[]
Definition: Snoop.hh:162
uint64_t receive_millis
Definition: Snoop.hh:111
C++ representation of a run entry.
Definition: Snoop.hh:96
Snoop & operator<<(const T &obj)
Generic operator to log an object to the log message being constructed.
Definition: Snoop.hh:64
std::string app_version
Definition: Snoop.hh:116
bool connected
Definition: Snoop.hh:119
int server_status
Definition: Snoop.hh:118
Definition: SnoopPrivate.hh:17
void from_json(const Json::Value &)
Definition: Snoop.cc:1007
const char email[]
Definition: Snoop.hh:163
uint64_t create_millis
Definition: Snoop.hh:138
uint64_t create_millis
Definition: Snoop.hh:110
int client_log_id
Definition: Snoop.hh:135
Logging class with functionality to send log information to a remote server using a websocket connect...
Definition: Snoop.hh:36
int id
Definition: Snoop.hh:136
std::string machine_id
Definition: Snoop.hh:114
std::string uuid
Definition: Snoop.hh:137
void set_sync_immediately(bool)
Set to sync with server after every log line.
Definition: Snoop.cc:222
int id
Definition: Snoop.hh:108
std::string user_id
Definition: Snoop.hh:117
const char error[]
Definition: Snoop.hh:161
std::string message
Definition: Snoop.hh:144
Snoop log
Definition: Snoop.cc:48
void from_json(const Json::Value &)
Definition: Snoop.cc:1022
server
Definition: cadabra2_defaults.py:150
Snoop()
Definition: Snoop.cc:63
void sync_logs_with_server(bool from_wsthread=false)
As above, but only for log entries.
Definition: Snoop.cc:580
bool sync_immediately_
Definition: Snoop.hh:150
int server_status
Definition: Snoop.hh:145
Flush flush
Definition: Snoop.cc:49
uint64_t pid
Definition: Snoop.hh:112
~Snoop()
Definition: Snoop.cc:812
const char warn[]
Definition: Snoop.hh:160
void sync_runs_with_server(bool from_wsthread=false)
As above, but only for run entries.
Definition: Snoop.cc:498
void sync_with_server(bool from_wsthread=false)
Ensure that the local database is synchronised with the server (this sends multiple app or log entrie...
Definition: Snoop.cc:481
std::string loc_file
Definition: Snoop.hh:140
std::string type
Definition: Snoop.hh:143
const char info[]
Definition: Snoop.hh:159
std::string uuid
Definition: Snoop.hh:109
AppEntry()
Definition: Snoop.cc:957
LogEntry()
Definition: Snoop.cc:905
friend SnoopImpl
Definition: Snoop.hh:153
std::string ip_address
Definition: Snoop.hh:113
uint64_t receive_millis
Definition: Snoop.hh:139
void init(const std::string &app_name, const std::string &app_version, std::string server="", std::string local_log_file="")
Initialise the logging stream.
Definition: Snoop.cc:73
C++ representation of a log entry.
Definition: Snoop.hh:124
std::string loc_method
Definition: Snoop.hh:142
std::string app_name
Definition: Snoop.hh:115
int loc_line
Definition: Snoop.hh:141
std::string to_json(bool human_readable) const
Definition: Snoop.cc:973