1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/*
* Copyright (c) 1997 - 2001 Hansjrg Malthaner
*
* This file is part of the Simutrans project under the artistic license.
* (see license.txt)
*/
#ifndef tests_log_h
#define tests_log_h
#include <stdio.h>
#include "../simtypes.h"
/**
* Logging facility
* @author Hj. Malthaner
*/
class log_t
{
private:
/**
* Primary log file.
* @author Hj. Malthaner
*/
FILE *log;
/**
* Secondary log file, currently fixed to stderr
* @author Hj. Malthaner
*/
FILE * tee;
bool force_flush;
/**
* Logging level - include debug messages ?
* @author Hj. Malthaner
*/
bool log_debug;
public:
/**
* writes a debug message into the log.
* @author Hj. Malthaner
*/
void debug(const char *who, const char *format, ...);
/**
* writes a message into the log.
* @author Hj. Malthaner
*/
void message(const char *who, const char *format, ...);
/**
* writes a warning into the log.
* @author Hj. Malthaner
*/
void warning(const char *who, const char *format, ...);
/**
* writes an error into the log.
* @author Hj. Malthaner
*/
void error(const char *who, const char *format, ...);
/**
* writes an error into the log, aborts the program.
* @author Hj. Malthaner
*/
void NORETURN fatal(const char* who, const char* format, ...);
void close();
log_t(const char *logname, bool force_flush, bool log_debug, bool log_console, const char *greeting );
~log_t();
};
#endif
|