diff options
| author | Tomas Chvatal (scarabeus) <tomas.chvatal@gmail.com> | 2008-10-22 22:50:54 +0200 |
|---|---|---|
| committer | Tomas Chvatal (scarabeus) <tomas.chvatal@gmail.com> | 2008-10-22 22:50:54 +0200 |
| commit | e12753d2ec9db83ec08bb9db63902a82fb245cdd (patch) | |
| tree | 6e4a63b790d6335f969f88b797a927e0fb25f37a /src/server/log.c~ | |
| parent | 0b4d9821c7333b8c4bdf7e0eeb750aef502a1137 (diff) | |
X
Diffstat (limited to 'src/server/log.c~')
| -rw-r--r-- | src/server/log.c~ | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/server/log.c~ b/src/server/log.c~ new file mode 100644 index 0000000..89e4f46 --- /dev/null +++ b/src/server/log.c~ @@ -0,0 +1,67 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <time.h> +#include <assert.h> + +#include "log.h" +#include "main.h" + +static FILE *logFile; + +int initLog(char *name) +{ + logFile = fopen(name, "a"); + + if( logFile == NULL ) + { + fprintf(stderr, _("Opening logfile \"%s\" failed!\n"), name); + return -1; + } +#ifdef DEBUG + printf(_("I use logfile: \"%s\")\n"), name); +#endif + addToLog(LOG_INF, "open log file"); + + return 0; +} + +void addToLog(int type, char *msg) +{ + char str[STR_LOG_SIZE]; + struct tm *tm_struct; + time_t currentTime; + char *str_type; + + currentTime = time(NULL); + tm_struct = localtime(¤tTime); + + switch( type ) + { + case LOG_INF : str_type = "INF"; break; + case LOG_DBG : str_type = "DBG"; break; + case LOG_WRN : str_type = "WRN"; break; + case LOG_ERR : str_type = "ERR"; break; + default : + assert( ! _("Really bad log value!") ); + break; + } + + sprintf(str, "(%02d-%02d-%02d %02d:%02d:%02d) %s %s\n", + 1900+tm_struct->tm_year, tm_struct->tm_mon, tm_struct->tm_mday, + tm_struct->tm_hour, tm_struct->tm_min, tm_struct->tm_sec, + str_type, msg); + + fprintf(logFile, str); + + fflush(logFile); +} + +void quitLog() +{ + addToLog(LOG_INF, "close log file"); + fclose(logFile); +} + |