// Description: File_Logger class
// Detail: Outputs logging information into a file
#ifndef PASTELSYS_FILE_LOGGER_H
#define PASTELSYS_FILE_LOGGER_H
#include "pastel/sys/logging/logger.h"
#include <fstream>
namespace Pastel
{
class File_Logger
: public Logger
{
public:
explicit File_Logger(const std::string& fileName)
: file_(fileName.c_str())
{
}
virtual ~File_Logger()
{
finalize();
}
virtual File_Logger& operator<<(const std::string& value)
{
file_ << value;
return *this;
}
virtual void finalize()
{
file_.close();
}
private:
std::ofstream file_;
};
}
#endif