17#ifndef _GAZEBO_UTIL_LOGRECORD_HH_
18#define _GAZEBO_UTIL_LOGRECORD_HH_
28#define GZ_LOG_VERSION "1.0"
60 class LogRecordPrivate;
96 public:
bool Init(
const std::string &_subdir);
110 public:
void Add(
const std::string &_name,
const std::string &_filename,
111 std::function<
bool (std::ostringstream &)> _logCallback);
121 public:
bool Remove(
const std::string &_name);
181 public:
bool Start(
const std::string &_encoding=
"zlib",
182 const std::string &_path=
"");
192 public: std::string
Filename(
const std::string &_name =
"")
const;
197 public:
unsigned int FileSize(
const std::string &_name =
"")
const;
220 public:
bool SaveModels(
const std::set<std::string> &models);
225 public:
bool SaveFiles(
const std::set<std::string> &resources);
229 public:
void Write(
const bool _force =
false);
239 private:
void Update();
242 private:
void RunUpdate();
245 private:
void RunWrite();
248 private:
void ClearLogs();
251 private:
void PublishLogStatus();
255 private:
void OnLogControl(ConstLogControlPtr &_data);
260 private:
void Cleanup();
263 private:
void OnPause(
const bool _pause);
270 private: std::unique_ptr<LogRecordPrivate> dataPtr;
gazebo
Definition: LogRecord.hh:31
util
Definition: LogRecord.hh:31
Singleton template class.
Definition: SingletonT.hh:34
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:48
Log recording parameters.
Definition: LogRecord.hh:40
std::string encoding
The type of encoding (txt, zlib, or bz2).
Definition: LogRecord.hh:42
std::string path
Path in which to store log files.
Definition: LogRecord.hh:45
std::string filter
Log filter string.
Definition: LogRecord.hh:52
bool recordResources
Recording resources.
Definition: LogRecord.hh:56
double period
Recording period.
Definition: LogRecord.hh:49
addtogroup gazebo_util
Definition: LogRecord.hh:83
void Fini()
Finialize, and shutdown.
void Add(const std::string &_name, const std::string &_filename, std::function< bool(std::ostringstream &)> _logCallback)
Add an object to a log file.
bool Remove(const std::string &_name)
Remove an entity from a log.
void Stop()
Stop the logger.
bool Paused() const
Get whether logging is paused.
const std::string & Encoding() const
Get the encoding used.
std::string Filter() const
Get the log recording filter string.
bool RecordResources() const
Get whether the model meshes and materials are saved when recording.
common::Time RunTime() const
Get the run time in sim time.
std::string Filename(const std::string &_name="") const
Get the filename for a log object.
void SetPeriod(const double _period)
Set the log recording period.
void SetBasePath(const std::string &_path)
Set the base path.
bool SaveModels(const std::set< std::string > &models)
Return true if all the models are saved successfully.
void SetPaused(const bool _paused)
Set whether logging should pause.
void Notify()
Tell the recorder that an update should occur.
bool IsReadyToStart() const
Get whether the logger is ready to start, which implies that any previous runs have finished.
void Write(const bool _force=false)
Write all logs.
bool Start(const std::string &_encoding="zlib", const std::string &_path="")
Start the logger.
void SetFilter(const std::string &_filter)
Set the log recording filter string.
unsigned int BufferSize() const
Get the size of the buffer.
bool Running() const
Get whether logging is running.
double Period() const
Get the log recording period.
bool Start(const LogRecordParams &_params)
Start the logger.
std::string BasePath() const
Get the base path for a log recording.
unsigned int FileSize(const std::string &_name="") const
Get the file size for a log object.
bool FirstUpdate() const
Return true if an Update has not yet been completed.
bool SaveFiles(const std::set< std::string > &resources)
Return true if all the files are saved successfully.
bool Init(const std::string &_subdir)
Initialize logging into a subdirectory.
void SetRecordResources(const bool _record)
Set whether to save model meshes and materials when recording.
#define GZ_SINGLETON_DECLARE(visibility, n1, n2, singletonType)
Helper to declare typed SingletonT.
Definition: SingletonT.hh:58
Forward declarations for the common classes.
Definition: Animation.hh:27