refactor(log): remove mode and clear channels function
This commit is contained in:
parent
c49b259862
commit
c712cbf6db
@ -1,16 +1,17 @@
|
||||
#include <webserv/log/FileChannel.hpp>
|
||||
|
||||
#include <webserv/log/Log.hpp> // for Log
|
||||
|
||||
#include <chrono> // for system_clock
|
||||
#include <cstdio>
|
||||
#include <ctime> // for localtime, tm
|
||||
#include <iomanip> // for operator<<, put_time
|
||||
#include <iostream> // for cerr
|
||||
|
||||
#include <fcntl.h>
|
||||
|
||||
struct tm;
|
||||
|
||||
FileChannel::FileChannel(const std::string &filename, std::ios_base::openmode mode)
|
||||
: filename_(filename), fileStream_(filename, mode)
|
||||
FileChannel::FileChannel(const std::string &filename) : filename_(filename), fileStream_(filename, std::ios_base::trunc)
|
||||
{
|
||||
if (!fileStream_.is_open())
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
class FileChannel : public Channel
|
||||
{
|
||||
public:
|
||||
FileChannel(const std::string &filename, std::ios_base::openmode mode);
|
||||
FileChannel(const std::string &filename);
|
||||
|
||||
FileChannel(const FileChannel &other) = delete;
|
||||
FileChannel(FileChannel &&other) = delete;
|
||||
|
||||
@ -33,7 +33,7 @@ void Log::setStdoutChannel()
|
||||
}
|
||||
}
|
||||
|
||||
void Log::setFileChannel(const std::string &filename, std::ios_base::openmode mode)
|
||||
void Log::setFileChannel(const std::string &filename)
|
||||
{
|
||||
Log &log = getInstance();
|
||||
if (log.channels_.contains("file"))
|
||||
@ -42,7 +42,7 @@ void Log::setFileChannel(const std::string &filename, std::ios_base::openmode mo
|
||||
}
|
||||
try
|
||||
{
|
||||
log.channels_["file"] = std::make_unique<FileChannel>(filename, mode);
|
||||
log.channels_["file"] = std::make_unique<FileChannel>(filename);
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
@ -50,6 +50,12 @@ void Log::setFileChannel(const std::string &filename, std::ios_base::openmode mo
|
||||
}
|
||||
}
|
||||
|
||||
void Log::clearChannels()
|
||||
{
|
||||
Log &log = getInstance();
|
||||
log.channels_.clear();
|
||||
}
|
||||
|
||||
Log &Log::getInstance()
|
||||
{
|
||||
static Log instance;
|
||||
|
||||
@ -51,7 +51,7 @@ class Log
|
||||
|
||||
static constexpr Log::Level COMPILE_TIME_LOG_LEVEL = Log::Level::Debug;
|
||||
|
||||
static void setFileChannel(const std::string &filename, std::ios_base::openmode mode = std::ios_base::app);
|
||||
static void setFileChannel(const std::string &filename);
|
||||
static void setStdoutChannel();
|
||||
|
||||
static int getElapsedTime();
|
||||
@ -68,6 +68,8 @@ class Log
|
||||
static std::string logLevelToColoredString(Level level);
|
||||
static Level stringToLogLevel(const std::string &level);
|
||||
|
||||
static void clearChannels();
|
||||
|
||||
private:
|
||||
Log();
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ int main(int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
Log::setFileChannel("logs/webserv.log", std::ios_base::trunc);
|
||||
Log::setFileChannel("logs/webserv.log");
|
||||
Log::setStdoutChannel();
|
||||
|
||||
Log::info("\n======================\nStarting webserv...\n======================\n");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user