projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
powerdns plugin: Fix memory leak.
[collectd.git]
/
src
/
logfile.c
diff --git
a/src/logfile.c
b/src/logfile.c
index
ded7732
..
63448cb
100644
(file)
--- a/
src/logfile.c
+++ b/
src/logfile.c
@@
-54,7
+54,11
@@
static int logfile_config (const char *key, const char *value)
{
if (0 == strcasecmp (key, "LogLevel")) {
log_level = parse_log_severity(value);
{
if (0 == strcasecmp (key, "LogLevel")) {
log_level = parse_log_severity(value);
- if (log_level == -1) return 1; /* to keep previous behaviour */
+ if (log_level < 0) {
+ log_level = LOG_INFO;
+ ERROR ("logfile: invalid loglevel [%s] defaulting to 'info'", value);
+ return (1);
+ }
}
else if (0 == strcasecmp (key, "File")) {
sfree (log_file);
}
else if (0 == strcasecmp (key, "File")) {
sfree (log_file);
@@
-81,7
+85,7
@@
static void logfile_print (const char *msg, int severity,
cdtime_t timestamp_time)
{
FILE *fh;
cdtime_t timestamp_time)
{
FILE *fh;
-
int
do_close = 0;
+
_Bool
do_close = 0;
struct tm timestamp_tm;
char timestamp_str[64];
char level_str[16] = "";
struct tm timestamp_tm;
char timestamp_str[64];
char level_str[16] = "";
@@
-151,8
+155,11
@@
static void logfile_print (const char *msg, int severity,
else
fprintf (fh, "%s%s\n", level_str, msg);
else
fprintf (fh, "%s%s\n", level_str, msg);
- if (do_close
!= 0)
+ if (do_close
) {
fclose (fh);
fclose (fh);
+ } else {
+ fflush(fh);
+ }
}
pthread_mutex_unlock (&file_lock);
}
pthread_mutex_unlock (&file_lock);