2008-12-10 05:42:49 +01:00
|
|
|
/*
|
2010-02-28 01:08:10 +01:00
|
|
|
* This file is a part of Winix
|
2008-12-10 05:42:49 +01:00
|
|
|
* and is not publicly distributed
|
|
|
|
*
|
2010-02-28 22:33:06 +01:00
|
|
|
* Copyright (c) 2008-2010, Tomasz Sowa
|
2008-12-10 05:42:49 +01:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2009-04-21 22:50:55 +02:00
|
|
|
#ifndef headerfilecmslucorelog
|
|
|
|
#define headerfilecmslucorelog
|
2008-12-10 05:42:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
#include <fstream>
|
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
// !! dodac manipulator logsave, logi zostana zapisane pod koniec wykonywania jednego requesta (albo po kilku w zaleznosci od jakiejs opcji w konfigu)
|
|
|
|
// logsave zostanie wywolane w requestcontroller.cpp przy konczeniu wykonywania requesta
|
2010-01-28 22:09:48 +01:00
|
|
|
enum Manipulators { logsave, logsavenow, logend, log1, log2, log3 };
|
2008-12-10 05:42:49 +01:00
|
|
|
|
|
|
|
|
2008-12-30 02:05:03 +01:00
|
|
|
|
2008-12-10 05:42:49 +01:00
|
|
|
class Log
|
|
|
|
{
|
|
|
|
std::ostringstream buffer;
|
|
|
|
int log_level, current_level;
|
2010-01-28 22:09:48 +01:00
|
|
|
int item, item_save;
|
2008-12-10 05:42:49 +01:00
|
|
|
std::string log_file;
|
|
|
|
bool log_stdout;
|
2010-01-28 22:09:48 +01:00
|
|
|
std::ofstream file;
|
|
|
|
int lines;
|
|
|
|
|
|
|
|
void OpenFile();
|
2008-12-10 05:42:49 +01:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
Log();
|
|
|
|
|
2010-01-28 22:09:48 +01:00
|
|
|
void Init(int log_l, const std::string & log_f, bool log_std, int log_request);
|
2008-12-11 03:46:16 +01:00
|
|
|
|
2009-10-01 00:31:20 +02:00
|
|
|
void PutDate(Manipulators m);
|
2008-12-10 05:42:49 +01:00
|
|
|
Log & operator<<(const char * s);
|
2010-05-04 23:58:22 +02:00
|
|
|
Log & operator<<(const void * s);
|
2009-11-17 02:04:01 +01:00
|
|
|
Log & operator<<(const std::string * s);
|
2008-12-10 05:42:49 +01:00
|
|
|
Log & operator<<(const std::string & s);
|
|
|
|
Log & operator<<(int s);
|
|
|
|
Log & operator<<(long s);
|
|
|
|
Log & operator<<(char s);
|
|
|
|
Log & operator<<(size_t s);
|
2009-09-22 01:05:05 +02:00
|
|
|
Log & operator<<(double s);
|
2008-12-10 05:42:49 +01:00
|
|
|
Log & operator<<(Manipulators m);
|
|
|
|
|
2010-02-12 18:05:32 +01:00
|
|
|
void SystemErr(int err);
|
|
|
|
|
2008-12-10 05:42:49 +01:00
|
|
|
void SaveLog();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern Log log;
|
2009-10-01 00:31:20 +02:00
|
|
|
extern Log nlog;
|
2008-12-10 05:42:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|