/**
* \brief Writes a line to the Orbiter log file (orbiter.log) in the main orbiter directory.
* \param line line to be written (zero-terminated)
* \note This function is intended for diagnostic initialisation and error messages by
* plugin modules. The messages should make it easier to track problems.
* \note Avoid unnecessary output. In particular, don't write to the log file continously
* from within the simulation loop.
* \sa oapiWriteLogV
*/
OAPIFUNC void oapiWriteLog (char *line);
/**
* \brief Writes a formatted string with variable number of arguments to orbiter.log.
* \param format Format string. Can contain any C-style parameter flags.
* \param ... List of output parameters. Must match the parameter flags in the format string.
* \note A newline character is appended to the end of the format string.
* \sa oapiWriteLog
*/
OAPIFUNC void oapiWriteLogV (const char *format, ...);
/**
* \brief Writes a formatted error message with variable number of arguments to orbiter.log.
* \param format Format string. Can contain any C-style parameter flags.
* \param ... List of output parameters. Must match the parameter flags in the format string.
* \sa oapiWriteLog, oapiWriteLogV
*/
#define oapiWriteLogError(format, ...) __writeLogError(__FUNCTION__,__FILE__,__LINE__, format, __VA_ARGS__)
OAPIFUNC void __writeLogError(const char *func, const char *file, int line, const char *format, ...);