00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __WVLOGFILE_H
00009 #define __WVLOGFILE_H
00010
00011 #include "wvfile.h"
00012 #include "wvlogrcv.h"
00013
00016 class WvLogFileBase : public WvLogRcv, public WvFile
00017 {
00018 public:
00019 WvLogFileBase(WvStringParm _filename,
00020 WvLog::LogLevel _max_level = WvLog::NUM_LOGLEVELS);
00021
00022 protected:
00023 WvLogFileBase(WvLog::LogLevel _max_level);
00024 virtual void _make_prefix();
00025 virtual void _mid_line(const char *str, size_t len);
00026 };
00027
00028
00031 class WvLogFile : public WvLogFileBase
00032 {
00033 public:
00034 WvLogFile(WvStringParm _filename,
00035 WvLog::LogLevel _max_level = WvLog::NUM_LOGLEVELS,
00036 int _keep_for = 7, bool _force_new_line = false);
00037
00038 private:
00039 virtual void _make_prefix();
00040 void start_log();
00041 int keep_for, last_day;
00042 WvString filename;
00043 };
00044
00045 #endif // __WVLOGFILE_H