Go to the documentation of this file.
17 #ifndef _GAZEBO_UTIL_LOGRECORD_HH_
18 #define _GAZEBO_UTIL_LOGRECORD_HH_
28 #define GZ_LOG_VERSION "1.0"
56 class LogRecordPrivate;
92 public:
bool Init(
const std::string &_subdir);
106 public:
void Add(
const std::string &_name,
const std::string &_filename,
107 std::function<
bool (std::ostringstream &)> _logCallback);
117 public:
bool Remove(
const std::string &_name);
123 public:
void Notify();
129 public:
void SetPaused(
const bool _paused);
134 public:
bool Paused()
const;
138 public:
double Period()
const;
142 public:
void SetPeriod(
const double _period);
146 public: std::string Filter()
const;
150 public:
void SetFilter(
const std::string &_filter);
155 public:
bool RecordResources()
const;
159 public:
void SetRecordResources(
const bool _record);
164 public:
bool IsReadyToStart()
const;
168 public:
bool Running()
const;
177 public:
bool Start(
const std::string &_encoding=
"zlib",
178 const std::string &_path=
"");
183 public:
const std::string &Encoding()
const;
188 public: std::string Filename(
const std::string &_name =
"")
const;
193 public:
unsigned int FileSize(
const std::string &_name =
"")
const;
197 public:
void SetBasePath(
const std::string &_path);
201 public: std::string BasePath()
const;
212 public:
bool FirstUpdate()
const;
216 public:
bool SaveModels(
const std::set<std::string> &models);
221 public:
bool SaveFiles(
const std::set<std::string> &resources);
225 public:
void Write(
const bool _force =
false);
229 public:
unsigned int BufferSize()
const;
235 private:
void Update();
238 private:
void RunUpdate();
241 private:
void RunWrite();
244 private:
void ClearLogs();
247 private:
void PublishLogStatus();
251 private:
void OnLogControl(ConstLogControlPtr &_data);
256 private:
void Cleanup();
259 private:
void OnPause(
const bool _pause);
266 private: std::unique_ptr<LogRecordPrivate> dataPtr;
Forward declarations for the common classes.
Definition: Animation.hh:26
A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec.
Definition: Time.hh:47
std::string filter
Log filter string.
Definition: LogRecord.hh:52
Singleton template class.
Definition: SingletonT.hh:33
util
Definition: LogRecord.hh:31
double period
Recording period.
Definition: LogRecord.hh:49
std::string encoding
The type of encoding (txt, zlib, or bz2).
Definition: LogRecord.hh:42
addtogroup gazebo_util
Definition: LogRecord.hh:78
std::string path
Path in which to store log files.
Definition: LogRecord.hh:45
Log recording parameters.
Definition: LogRecord.hh:39
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition: SingletonT.hh:61
gazebo
Definition: LogRecord.hh:31