59 lines
1.1 KiB
C++
Executable File
59 lines
1.1 KiB
C++
Executable File
/*
|
|
* This file is a part of CMSLU -- Content Management System like Unix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008-2009, 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 { logend, log1, log2, log3 };
|
|
|
|
|
|
|
|
class Log
|
|
{
|
|
std::ostringstream buffer;
|
|
int log_level, current_level;
|
|
std::string log_file;
|
|
bool log_stdout;
|
|
|
|
public:
|
|
|
|
Log();
|
|
|
|
void Init(int log_l, const std::string & log_f, bool log_std);
|
|
|
|
Log & operator<<(const char * 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 SaveLog();
|
|
};
|
|
|
|
|
|
|
|
extern Log log;
|
|
|
|
|
|
|
|
#endif
|
|
|