70 lines
1.3 KiB
C++
Executable File
70 lines
1.3 KiB
C++
Executable File
/*
|
|
* This file is a part of Winix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008-2010, Tomasz Sowa
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#ifndef headerfilecmslucorelog
|
|
#define headerfilecmslucorelog
|
|
|
|
|
|
#include <sstream>
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <string>
|
|
|
|
|
|
// !! 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
|
|
enum Manipulators { logsave, logsavenow, logend, log1, log2, log3 };
|
|
|
|
|
|
|
|
class Log
|
|
{
|
|
std::ostringstream buffer;
|
|
int log_level, current_level;
|
|
int item, item_save;
|
|
std::string log_file;
|
|
bool log_stdout;
|
|
std::ofstream file;
|
|
int lines;
|
|
|
|
void OpenFile();
|
|
|
|
public:
|
|
|
|
Log();
|
|
|
|
void Init(int log_l, const std::string & log_f, bool log_std, int log_request);
|
|
|
|
void PutDate(Manipulators m);
|
|
Log & operator<<(const char * s);
|
|
Log & operator<<(const void * s);
|
|
Log & operator<<(const std::string * s);
|
|
Log & operator<<(const std::string & s);
|
|
Log & operator<<(int s);
|
|
Log & operator<<(long s);
|
|
Log & operator<<(char s);
|
|
Log & operator<<(size_t s);
|
|
Log & operator<<(double s);
|
|
Log & operator<<(Manipulators m);
|
|
|
|
void SystemErr(int err);
|
|
|
|
void SaveLog();
|
|
};
|
|
|
|
|
|
|
|
extern Log log;
|
|
extern Log nlog;
|
|
|
|
|
|
|
|
#endif
|
|
|