added source folders
This commit is contained in:
1 parent
f23521f720
commit
cfdc19df45
145 files changed
+54574
No files matched your search
@@ -0,0 +1,167 @@
|
||||
#ifdef _WIN32
|
||||
#include <conio.h>
|
||||
#include <windows.h>
|
||||
#include <cstdio>
|
||||
#endif
|
||||
#include <cstdio>
|
||||
#include <string>
|
||||
#include <time.h>
|
||||
#include "log.h"
|
||||
|
||||
// Basic colors
|
||||
typedef enum
|
||||
{
|
||||
BLACK,
|
||||
BLUE,
|
||||
GREEN,
|
||||
CYAN,
|
||||
RED,
|
||||
MAGENTA,
|
||||
BROWN,
|
||||
LIGHTGRAY,
|
||||
DARKGRAY,
|
||||
LIGHTBLUE,
|
||||
LIGHTGREEN,
|
||||
LIGHTCYAN,
|
||||
LIGHTRED,
|
||||
LIGHTMAGENTA,
|
||||
YELLOW,
|
||||
WHITE
|
||||
} COLORS;
|
||||
|
||||
// Our base colors
|
||||
static int __BACKGROUND = BLACK;
|
||||
static int __FOREGROUND = LIGHTGRAY;
|
||||
|
||||
// Change console text color
|
||||
void textcolor(int color)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
__FOREGROUND = color;
|
||||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color + (__BACKGROUND << 4));
|
||||
#else
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
// This function logs based on flags
|
||||
void Log( enum msg_type flag, const char *Format, ... )
|
||||
{
|
||||
va_list ap; // For arguments
|
||||
va_start( ap, Format );
|
||||
|
||||
// Timestamp
|
||||
time_t rtime;
|
||||
time (&rtime);
|
||||
char timestamp[26];
|
||||
ctime_s (timestamp, sizeof (timestamp), &rtime);
|
||||
timestamp[strlen (timestamp) - 1] = ' ';
|
||||
|
||||
switch (flag) {
|
||||
case MSG_NONE: // direct printf replacement
|
||||
textcolor(WHITE);
|
||||
vprintf( Format, ap );
|
||||
break;
|
||||
case MSG_STATUS:
|
||||
textcolor(GREEN);
|
||||
printf("[STATUS]: ");
|
||||
break;
|
||||
case MSG_SQL:
|
||||
textcolor(CYAN);
|
||||
printf("[SQL]: ");
|
||||
break;
|
||||
case MSG_INFO:
|
||||
textcolor(LIGHTGREEN);
|
||||
printf("[INFO]: ");
|
||||
break;
|
||||
case MSG_NOTICE:
|
||||
textcolor(LIGHTCYAN);
|
||||
printf("[NOTICE]: ");
|
||||
break;
|
||||
case MSG_WARNING:
|
||||
textcolor(YELLOW);
|
||||
printf("[WARNING]: ");
|
||||
break;
|
||||
case MSG_DEBUG:
|
||||
textcolor(LIGHTBLUE);
|
||||
printf("[DEBUG]: ");
|
||||
break;
|
||||
case MSG_ERROR:
|
||||
textcolor(RED);
|
||||
printf("[ERROR]: ");
|
||||
break;
|
||||
case MSG_FATALERROR:
|
||||
textcolor(LIGHTRED);
|
||||
printf("[FATAL ERROR]: ");
|
||||
break;
|
||||
case MSG_HACK:
|
||||
textcolor(LIGHTRED);
|
||||
printf("[HACK]: ");
|
||||
break;
|
||||
case MSG_LOAD:
|
||||
textcolor(BROWN);
|
||||
printf("[LOADING]: ");
|
||||
break;
|
||||
case MSG_GMACTION:
|
||||
textcolor(MAGENTA);
|
||||
printf("[GM ACTION]: ");
|
||||
break;
|
||||
case MSG_START:
|
||||
textcolor(MAGENTA);
|
||||
vprintf( Format, ap );
|
||||
printf( "\r\n" );
|
||||
break;
|
||||
//case MSG_SDEBUG:
|
||||
// textcolor(MAGENTA);
|
||||
// printf("[SDEBUG]: ");
|
||||
// break;
|
||||
//case MSG_QUERY:
|
||||
// textcolor(LIGHTBLUE);
|
||||
// printf("[QUERY]: ");
|
||||
// break;
|
||||
//default:
|
||||
// textcolor(MAGENTA);
|
||||
// printf("[UNKNOWN CASE]: ");
|
||||
// break;
|
||||
}
|
||||
textcolor(LIGHTGRAY);
|
||||
if(flag!=MSG_QUERY)
|
||||
{
|
||||
printf( "%s- ", timestamp );
|
||||
vprintf( Format, ap );
|
||||
printf( (flag==MSG_LOAD) ? "\r" : "\n" );
|
||||
}
|
||||
FILE *fh = NULL;
|
||||
switch(LOG_THISSERVER)
|
||||
{
|
||||
case LOG_LOGIN_SERVER:
|
||||
fopen_s (&fh, LOG_DIRECTORY LOG_FILENAME_LOGINFILE, "a+");
|
||||
break;
|
||||
case LOG_CHARACTER_SERVER:
|
||||
fopen_s (&fh, LOG_DIRECTORY LOG_FILENAME_CHARFILE, "a+");
|
||||
break;
|
||||
case LOG_WORLD_SERVER:
|
||||
fopen_s (&fh, LOG_DIRECTORY LOG_FILENAME_WORLDFILE, "a+");
|
||||
break;
|
||||
case LOG_SAME_FILE:
|
||||
fopen_s (&fh, LOG_DIRECTORY LOG_DEFAULT_FILE, "a+");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(flag == MSG_QUERY)
|
||||
{
|
||||
if(fh != NULL)
|
||||
fclose(fh);
|
||||
fopen_s (&fh, LOG_DIRECTORY "queries.txt", "a+");
|
||||
}
|
||||
if ( fh != NULL )
|
||||
{
|
||||
fprintf( fh, "%s- ", timestamp );
|
||||
vfprintf( fh, Format, ap );
|
||||
fputc( '\n', fh );
|
||||
fclose( fh );
|
||||
}
|
||||
|
||||
va_end ( ap );
|
||||
}
|
||||
Reference in new issue
Block a user