Imho STDOUT is only a useful default during debugging (which should be by far
the less common case ;-). In any other case it might just "pollute" the
messages printed by e.g. the init script.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
+#define DEFAULT_LOGFILE LOCALSTATEDIR"/log/collectd.log"
+
#if COLLECT_DEBUG
static int log_level = LOG_DEBUG;
#else
#if COLLECT_DEBUG
static int log_level = LOG_DEBUG;
#else
pthread_mutex_lock (&file_lock);
pthread_mutex_lock (&file_lock);
- if ((log_file == NULL) || (strcasecmp (log_file, "stderr") == 0))
+ if (log_file == NULL)
+ {
+ fh = fopen (DEFAULT_LOGFILE, "a");
+ do_close = 1;
+ }
+ else if (strcasecmp (log_file, "stderr") == 0)
fh = stderr;
else if (strcasecmp (log_file, "stdout") == 0)
fh = stdout;
fh = stderr;
else if (strcasecmp (log_file, "stdout") == 0)
fh = stdout;
{
char errbuf[1024];
fprintf (stderr, "logfile plugin: fopen (%s) failed: %s\n",
{
char errbuf[1024];
fprintf (stderr, "logfile plugin: fopen (%s) failed: %s\n",
- (log_file == NULL) ? "<null>" : log_file,
+ (log_file == NULL) ? DEFAULT_LOGFILE : log_file,
sstrerror (errno, errbuf, sizeof (errbuf)));
}
else
sstrerror (errno, errbuf, sizeof (errbuf)));
}
else