56 lines
825 B
C++
Executable File
56 lines
825 B
C++
Executable File
/*
|
|
* This file is a part of CMSLU -- Content Management System like Unix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008, Tomasz Sowa
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#ifndef headerfilelog
|
|
#define headerfilelog
|
|
|
|
|
|
#include <sstream>
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <string>
|
|
|
|
|
|
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<<(Manipulators m);
|
|
|
|
void SaveLog();
|
|
};
|
|
|
|
|
|
|
|
extern Log log;
|
|
|
|
|
|
|
|
#endif
|
|
|