00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef STXXL_LOG_HEADER
00014 #define STXXL_LOG_HEADER
00015
00016 #include <iostream>
00017 #include <fstream>
00018
00019 #include <stxxl/bits/namespace.h>
00020
00021
00022 __STXXL_BEGIN_NAMESPACE
00023
00024 class logger
00025 {
00026 static logger * instance;
00027 std::ofstream log_stream_;
00028 std::ofstream errlog_stream_;
00029 inline logger() :
00030 log_stream_("stxxl.log"),
00031 errlog_stream_("stxxl.errlog")
00032 { }
00033
00034 public:
00035 inline std::ofstream & log_stream()
00036 {
00037 return log_stream_;
00038 }
00039
00040 inline std::ofstream & errlog_stream()
00041 {
00042 return errlog_stream_;
00043 }
00044
00045 inline static logger * get_instance()
00046 {
00047 if (!instance)
00048 instance = new logger();
00049
00050 return instance;
00051 }
00052 };
00053
00054 __STXXL_END_NAMESPACE
00055
00056 #endif // !STXXL_LOG_HEADER