mirror of
https://gitlab.xiph.org/xiph/icecast-common.git
synced 2024-09-22 04:15:55 -04: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:
parent
468052eec8
commit
1e98ffc080
30
log/log.c
30
log/log.c
@ -69,29 +69,45 @@ void log_initialize()
|
|||||||
_initialized = 1;
|
_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(file == NULL) return LOG_EINSANE;
|
||||||
if (strcmp(filename, "") == 0) return LOG_EINSANE;
|
|
||||||
|
|
||||||
log_id = _get_log_id();
|
log_id = _get_log_id();
|
||||||
if (log_id < 0) return LOG_ENOMORELOGS;
|
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) {
|
if (loglist[log_id].logfile != NULL) {
|
||||||
loglist[log_id].filename = (char *)strdup(filename);
|
loglist[log_id].filename = NULL;
|
||||||
} else {
|
} else {
|
||||||
_release_log_id(log_id);
|
_release_log_id(log_id);
|
||||||
return LOG_ECANTOPEN;
|
return LOG_ECANTOPEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
setvbuf(loglist[log_id].logfile, NULL, _IOLBF, 0);
|
|
||||||
|
|
||||||
return log_id;
|
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)
|
int log_open_with_buffer(const char *filename, int size)
|
||||||
{
|
{
|
||||||
/* not implemented */
|
/* not implemented */
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#ifndef __LOG_H__
|
#ifndef __LOG_H__
|
||||||
#define __LOG_H__
|
#define __LOG_H__
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#define LOG_EINSANE -1
|
#define LOG_EINSANE -1
|
||||||
#define LOG_ENOMORELOGS -2
|
#define LOG_ENOMORELOGS -2
|
||||||
#define LOG_ECANTOPEN -3
|
#define LOG_ECANTOPEN -3
|
||||||
@ -9,6 +11,7 @@
|
|||||||
|
|
||||||
|
|
||||||
void log_initialize();
|
void log_initialize();
|
||||||
|
int log_open_file(FILE *file);
|
||||||
int log_open(const char *filename);
|
int log_open(const char *filename);
|
||||||
int log_open_with_buffer(const char *filename, int size);
|
int log_open_with_buffer(const char *filename, int size);
|
||||||
void log_set_level(int log_id, int level);
|
void log_set_level(int log_id, int level);
|
||||||
|
Loading…
Reference in New Issue
Block a user