1
0
mirror of https://gitlab.xiph.org/xiph/icecast-common.git synced 2024-06-16 06:15:24 +00:00

Allow logging to go to stderr instead of to a file, if the user so chooses

(example configs turn this off, to leave behaviour as it was).

svn path=/trunk/log/; revision=3008
This commit is contained in:
Michael Smith 2002-01-29 09:20:28 +00:00
parent 468052eec8
commit 1e98ffc080
2 changed files with 27 additions and 8 deletions

View File

@ -69,29 +69,45 @@ void log_initialize()
_initialized = 1;
}
int log_open(const char *filename)
int log_open_file(FILE *file)
{
int log_id;
int log_id;
if (filename == NULL) return LOG_EINSANE;
if (strcmp(filename, "") == 0) return LOG_EINSANE;
if(file == NULL) return LOG_EINSANE;
log_id = _get_log_id();
if (log_id < 0) return LOG_ENOMORELOGS;
loglist[log_id].logfile = fopen(filename, "a");
loglist[log_id].logfile = file;
if (loglist[log_id].logfile != NULL) {
loglist[log_id].filename = (char *)strdup(filename);
loglist[log_id].filename = NULL;
} else {
_release_log_id(log_id);
return LOG_ECANTOPEN;
}
setvbuf(loglist[log_id].logfile, NULL, _IOLBF, 0);
return log_id;
}
int log_open(const char *filename)
{
int ret;
FILE *file;
if (filename == NULL) return LOG_EINSANE;
if (strcmp(filename, "") == 0) return LOG_EINSANE;
file = fopen(filename, "a");
ret = log_open_file(file);
if(ret >= 0)
setvbuf(file, NULL, _IOLBF, 0);
return ret;
}
int log_open_with_buffer(const char *filename, int size)
{
/* not implemented */

View File

@ -1,6 +1,8 @@
#ifndef __LOG_H__
#define __LOG_H__
#include <stdio.h>
#define LOG_EINSANE -1
#define LOG_ENOMORELOGS -2
#define LOG_ECANTOPEN -3
@ -9,6 +11,7 @@
void log_initialize();
int log_open_file(FILE *file);
int log_open(const char *filename);
int log_open_with_buffer(const char *filename, int size);
void log_set_level(int log_id, int level);