mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-06-17 22:23:03 +00:00
Fully Polished the loggin system
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
#define ENET_IMPLEMENTATION
|
#define ENET_IMPLEMENTATION
|
||||||
#include "enet.h"
|
#include "enet.h"
|
||||||
|
#include <string>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "../logger.h"
|
||||||
|
|
||||||
void ParseData(size_t Length, enet_uint8* Data, char* Sender, enet_uint8 ChannelID); //Data Parser
|
void ParseData(size_t Length, enet_uint8* Data, char* Sender, enet_uint8 ChannelID); //Data Parser
|
||||||
void host_server(ENetHost *server) {
|
void host_server(ENetHost *server) {
|
||||||
ENetEvent event;
|
ENetEvent event;
|
||||||
@@ -49,14 +52,14 @@ void ServerMain(int Port, int MaxClients) {
|
|||||||
|
|
||||||
|
|
||||||
/* create a server */
|
/* create a server */
|
||||||
printf("starting server with a maximum of %d Clients...\n",MaxClients);
|
info("starting server with a maximum of " + to_string(MaxClients) + " Clients...\n");
|
||||||
server = enet_host_create(&address, MaxClients, 2, 0, 0);
|
server = enet_host_create(&address, MaxClients, 2, 0, 0);
|
||||||
if (server == NULL) {
|
if (server == NULL) {
|
||||||
printf("An error occurred while trying to create a server host.\n");
|
error("An error occurred while trying to create a server host.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Waiting for clients on port %d...\n",Port);
|
info("Waiting for clients on port "+to_string(Port)+"...\n");
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
host_server(server);
|
host_server(server);
|
||||||
|
|||||||
+33
-15
@@ -3,9 +3,10 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
|
void addToLog(basic_string<char> Data);
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
int loggerlevel;
|
int loggerlevel;
|
||||||
|
|
||||||
void setLoggerLevel(char level_string[]) {
|
void setLoggerLevel(char level_string[]) {
|
||||||
@@ -72,23 +73,40 @@ stringstream getDate() {
|
|||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
void info(char obj[]) {
|
|
||||||
if (level <= 2)
|
|
||||||
cout << getDate().str() << "\u001b[36m" << "[INFO]" << "\u001b[0m" << " " << obj << endl;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void info(basic_string<char> toPrint) {
|
||||||
|
if (loggerlevel <= 2){
|
||||||
|
cout << getDate().str() << "[INFO] " << toPrint << endl;
|
||||||
|
addToLog(getDate().str() + "[INFO] " + toPrint + "\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void error(char obj[]) {
|
void error(basic_string<char> toPrint) {
|
||||||
if (level <= 4)
|
if (loggerlevel <= 4) {
|
||||||
cout << getDate().str() << "\x1B[31m" << "[ERRO]" << "\u001b[0m" << " " << obj << endl;
|
cout << getDate().str() << "[ERROR] " << toPrint << endl;
|
||||||
|
addToLog(getDate().str() + "[ERROR] " + toPrint + "\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void warn(char obj[]) {
|
|
||||||
if (level <= 3)
|
void warn(basic_string<char> toPrint) {
|
||||||
cout << getDate().str() << "\u001b[33m" << "[WARN]" << "\u001b[0m" << " " << obj << endl;
|
if (loggerlevel <= 3) {
|
||||||
|
cout << getDate().str() << "[WARN] " << toPrint << endl;
|
||||||
|
addToLog(getDate().str() + "[WARN] " + toPrint + "\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void debug(char obj[]) {
|
|
||||||
if (level <= 1)
|
void debug(basic_string<char> toPrint) {
|
||||||
cout << getDate().str() << "\u001b[35m" << "[DBUG]" << "\u001b[0m" << " " << obj << endl;
|
if (loggerlevel <= 1) {
|
||||||
}*/
|
cout << getDate().str() << "[DEBUG] " << toPrint << endl;
|
||||||
|
addToLog(getDate().str() + "[DEBUG] " + toPrint + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-27
@@ -2,7 +2,6 @@
|
|||||||
// Created by jojos38 on 28.01.2020.
|
// Created by jojos38 on 28.01.2020.
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef LOGGER_H
|
|
||||||
#define LOGGER_H
|
#define LOGGER_H
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@@ -10,32 +9,10 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
extern int loggerlevel;
|
extern int loggerlevel;
|
||||||
stringstream getDate();
|
stringstream getDate();
|
||||||
void setLoggerLevel(char level_string[]);
|
void setLoggerLevel(char level_string[]);
|
||||||
|
void info(basic_string<char> toPrint);
|
||||||
template<typename T>
|
void warn(basic_string<char> toPrint);
|
||||||
void info(const T& toPrint) {
|
void error(basic_string<char> toPrint);
|
||||||
if (loggerlevel <= 2)
|
void debug(basic_string<char> toPrint);
|
||||||
cout << getDate().str() << "[INFO] " << toPrint << endl;
|
|
||||||
}
|
|
||||||
template<typename T>
|
|
||||||
void error(const T& toPrint) {
|
|
||||||
if (loggerlevel <= 4)
|
|
||||||
cout << getDate().str() "[ERRO] " << toPrint << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void warn(const T& toPrint) {
|
|
||||||
if (loggerlevel <= 3)
|
|
||||||
cout << getDate().str() << "[WARN] " << toPrint << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void debug(const T& toPrint) {
|
|
||||||
if (loggerlevel <= 1)
|
|
||||||
cout << getDate().str() << "[DBUG] " << toPrint << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // LOGGER_H
|
|
||||||
|
|||||||
+29
-3
@@ -5,15 +5,16 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
|
|
||||||
using namespace std; //nameSpace STD
|
using namespace std; //nameSpace STD
|
||||||
|
|
||||||
void DebugData();
|
void DebugData();
|
||||||
|
void LogInit();
|
||||||
void ParseConfig();
|
void ParseConfig();
|
||||||
void ServerMain(int Port, int MaxClients);
|
void ServerMain(int Port, int MaxClients);
|
||||||
|
|
||||||
bool Debug = false;
|
bool Debug = false;
|
||||||
|
void addToLog(basic_string<char> Data);
|
||||||
int Port = 30814;
|
int Port = 30814;
|
||||||
int MaxClients = 10;
|
int MaxClients = 10;
|
||||||
string MapName = "levels/gridmap/level.json";
|
string MapName = "levels/gridmap/level.json";
|
||||||
@@ -22,11 +23,11 @@ string ServerName = "BeamNG-MP FTW";
|
|||||||
//Entry
|
//Entry
|
||||||
int main() {
|
int main() {
|
||||||
ParseConfig();
|
ParseConfig();
|
||||||
|
LogInit();
|
||||||
if(Debug){ //checks if debug is on
|
if(Debug){ //checks if debug is on
|
||||||
DebugData(); //Prints Debug Data
|
DebugData(); //Prints Debug Data
|
||||||
}
|
}
|
||||||
setLoggerLevel("ALL");
|
setLoggerLevel("ALL");
|
||||||
|
|
||||||
ServerMain(Port, MaxClients);
|
ServerMain(Port, MaxClients);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,3 +48,28 @@ void SetMainValues(bool D, int P,int MP,string Name,string serverName){
|
|||||||
MaxClients = MP;
|
MaxClients = MP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LogInit(){
|
||||||
|
ifstream InFileStream;
|
||||||
|
InFileStream.open("Server.log");
|
||||||
|
if(InFileStream.good()){
|
||||||
|
remove("Server.log");
|
||||||
|
}
|
||||||
|
InFileStream.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void addToLog(basic_string<char> Data){
|
||||||
|
basic_string<char> LogData = "";
|
||||||
|
ifstream InFileStream;
|
||||||
|
InFileStream.open("Server.log");
|
||||||
|
if(InFileStream.good()){
|
||||||
|
string line;
|
||||||
|
while (getline(InFileStream, line)) {
|
||||||
|
LogData = LogData + line + "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ofstream LFS;
|
||||||
|
LFS.open ("Server.log");
|
||||||
|
LFS << LogData;
|
||||||
|
LFS << Data.c_str();
|
||||||
|
LFS.close();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user