fflush(logfile);
FILE *newfile = fopen(logfilename, "a");
if(!newfile) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Unable to reopen log file %s: %s\n", logfilename, strerror(errno));
+ logger(DEBUG_ALWAYS, LOG_ERR, "Unable to reopen log file %s: %s", logfilename, strerror(errno));
return;
}
fclose(logfile);
void logger(int level, int priority, const char *format, ...) {
va_list ap;
+ int len;
char timestr[32] = "";
char message[1024] = "";
time_t now;
return;
va_start(ap, format);
- vsnprintf(message, sizeof message, format, ap);
+ len = vsnprintf(message, sizeof message, format, ap);
va_end(ap);
+ if(len > 0 && len < sizeof message && message[len - 1] == '\n')
+ message[len - 1] = 0;
+
if(level <= debug_level) {
switch(logmode) {
case LOGMODE_STDERR: