#include //fprintf() #include //strerror() #include //errno #include "utils.h" static FILE *fdLog=NULL; void openLog(char path[]) { if(path==NULL) { fdLog=stderr; } else { fdLog=fopen(path, "a"); if ( fdLog == NULL ) { fdLog=stderr; logs(LOG_ERROR,"openLog : cannot open logfile"); //XXX Détailler ça (str_error...) } } } void closeLog() { if(fdLog!=NULL && fdLog!=stderr) { fclose(fdLog); } } //TODO : ajouter une notion de niveau de masquage de messages void logs(int level, char msg[]) { fprintf(fdLog,"%i - %s\n", level, msg); } void logs2(int level, char context[], char msg[]) { fprintf(fdLog,"%i - %s : %s\n", level, context, msg); } void logp(int level, char msg[]) { char *errMsg; errMsg=strerror(errno); fprintf(fdLog,"%i - %s : %s\n", level, msg, errMsg); } int min(int a, int b) { return (ab)?a:b; }