From 4374f826ea5fdbe2c3ff4c9a5d0a69cbd557e908 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Sun, 21 Jan 2024 10:01:32 +0100 Subject: [PATCH] adding logs --- Makefile | 7 +++--- includes/logs.hpp | 34 +++++++++++++++++++++++++++++ includes/server.hpp | 29 +++++++++++++++++++++++++ srcs/core/logs.cpp | 46 ++++++++++++++++++++++++++++++++++++++++ srcs/{ => core}/main.cpp | 14 ++++++------ srcs/core/server.cpp | 18 ++++++++++++++++ 6 files changed, 138 insertions(+), 10 deletions(-) create mode 100644 includes/logs.hpp create mode 100644 includes/server.hpp create mode 100644 srcs/core/logs.cpp rename srcs/{ => core}/main.cpp (71%) create mode 100644 srcs/core/server.cpp diff --git a/Makefile b/Makefile index 6bfe1ad..1b114d7 100644 --- a/Makefile +++ b/Makefile @@ -6,14 +6,15 @@ # By: vavaas +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/08/09 15:08:49 by vavaas #+# #+# # -# Updated: 2024/01/20 19:16:37 by maldavid ### ########.fr # +# Updated: 2024/01/21 09:44:11 by maldavid ### ########.fr # # # # **************************************************************************** # NAME = ircserv -SRCS = srcs/main.cpp \ - srcs/utils/ansi.cpp \ +SRCS = srcs/core/main.cpp \ + srcs/core/logs.cpp \ + srcs/utils/ansi.cpp \ OBJ_DIR = objs OBJS = $(addprefix $(OBJ_DIR)/, $(SRCS:.cpp=.o)) diff --git a/includes/logs.hpp b/includes/logs.hpp new file mode 100644 index 0000000..28c1c7f --- /dev/null +++ b/includes/logs.hpp @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* logs.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/01/21 09:15:24 by maldavid #+# #+# */ +/* Updated: 2024/01/21 09:30:07 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __LOGS__ +#define __LOGS__ + +#include + +namespace irc +{ + enum LogType + { + log_message = 0, + log_warning, + log_error, + log_fatal_error + }; + + namespace logs + { + void report(LogType type, std::string message, ...); // message is not a const reference due to va_args + } +} + +#endif diff --git a/includes/server.hpp b/includes/server.hpp new file mode 100644 index 0000000..17fd607 --- /dev/null +++ b/includes/server.hpp @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* server.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/01/21 09:12:28 by maldavid #+# #+# */ +/* Updated: 2024/01/21 09:14:20 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __SERVER_IRC__ +#define __SERVER_IRC__ + +namespace irc +{ + class Server + { + public: + Server(); + + ~Server(); + + private: + }; +} + +#endif diff --git a/srcs/core/logs.cpp b/srcs/core/logs.cpp new file mode 100644 index 0000000..0f7f188 --- /dev/null +++ b/srcs/core/logs.cpp @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* logs.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/01/21 09:17:47 by maldavid #+# #+# */ +/* Updated: 2024/01/21 09:30:13 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include +#include + +#define BUFFER_SIZE 4096 + +namespace irc +{ + namespace logs + { + void report(LogType type, std::string message, ...) + { + char buffer[BUFFER_SIZE]; + + va_list al; + va_start(al, message); + vsnprintf(buffer, BUFFER_SIZE, message.c_str(), al); + va_end(al); + + switch(type) + { + case log_message: std::cout << AnsiColor::blue << "[IRC serv] Message : " << AnsiColor::reset << buffer << std::endl; break; + case log_warning: std::cout << AnsiColor::magenta << "[IRC serv] Warning : " << AnsiColor::reset << buffer << std::endl; break; + case log_error: std::cerr << AnsiColor::red << "[IRC serv] Error : " << AnsiColor::reset << buffer << std::endl; break; + case log_fatal_error: + std::cerr << AnsiColor::red << "[IRC serv] Fatal Error : " << AnsiColor::reset << buffer << std::endl; + std::exit(EXIT_FAILURE); + break; + } + } + } +} diff --git a/srcs/main.cpp b/srcs/core/main.cpp similarity index 71% rename from srcs/main.cpp rename to srcs/core/main.cpp index 38891a4..984a5c9 100644 --- a/srcs/main.cpp +++ b/srcs/core/main.cpp @@ -6,19 +6,19 @@ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/20 09:27:04 by maldavid #+# #+# */ -/* Updated: 2024/01/20 19:19:39 by maldavid ### ########.fr */ +/* Updated: 2024/01/21 09:30:55 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ -#include -#include -#include -#include +#include int main(int ac, char** av) { - (void)ac; + if(ac != 3) + { + irc::logs::report(irc::log_message, "usage './ircserv ', try again dumbass"); + return 0; + } (void)av; - std::cout << AnsiColor::red << "this" << AnsiColor::blue << " is" << AnsiColor::green << " a" << AnsiColor::yellow << " test" << AnsiColor::reset << std::endl; return 0; } diff --git a/srcs/core/server.cpp b/srcs/core/server.cpp new file mode 100644 index 0000000..d7477d3 --- /dev/null +++ b/srcs/core/server.cpp @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* server.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/01/21 09:31:17 by maldavid #+# #+# */ +/* Updated: 2024/01/21 09:31:28 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +namespace irc +{ + +}