1
0
Fork 0
flightgear/src/Main/logger.hxx
david 8506e731a2 Minor logging changes.
All logs and log entries are now disabled by default, unless
explicitly enabled by an 'enabled' property.  This works much more
intuitively with the GUI dialog.
2003-02-01 17:59:52 +00:00

67 lines
1.2 KiB
C++

// 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
#ifndef __cplusplus
# error This library requires C++
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <iostream>
#include <vector>
#include <simgear/compiler.h>
#include <simgear/debug/logstream.hxx>
#include <simgear/misc/exception.hxx>
#include <simgear/misc/props.hxx>
SG_USING_STD(ostream);
SG_USING_STD(vector);
#include "fgfs.hxx"
/**
* Log any property values to any number of CSV files.
*/
class FGLogger : public FGSubsystem
{
public:
FGLogger ();
virtual ~FGLogger ();
// Implementation of FGSubsystem
virtual void init ();
virtual void reinit ();
virtual void bind ();
virtual void unbind ();
virtual void update (double dt);
private:
/**
* A single instance of a log file (the logger can contain many).
*/
struct Log {
Log ();
virtual ~Log ();
vector<SGPropertyNode *> nodes;
ostream * output;
long interval_ms;
double last_time_ms;
char delimiter;
};
vector<Log> _logs;
};
#endif // __LOGGER_HXX