// logger.hxx - log properties. // Written by David Megginson, started 2002. // // This file is in the Public Domain, and comes with no warranty. #ifndef __LOGGER_HXX #define __LOGGER_HXX 1 #include #include #include #include #include #include /** * Log any property values to any number of CSV files. */ class FGLogger : public SGSubsystem { public: // Subsystem API. void bind() override; void init() override; void reinit() override; void unbind() override; void update(double dt) override; // Subsystem identification. static const char* staticSubsystemClassId() { return "logger"; } private: /** * A single instance of a log file (the logger can contain many). */ struct Log { Log (); std::vector nodes; std::unique_ptr output; long interval_ms; double last_time_ms; char delimiter; }; std::vector< std::unique_ptr > _logs; }; #endif // __LOGGER_HXX