Add functions that return the logged string.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2638 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
59
kdc/log.c
59
kdc/log.c
@@ -42,31 +42,50 @@ RCSID("$Id$");
|
|||||||
extern char *logfile;
|
extern char *logfile;
|
||||||
extern int loglevel;
|
extern int loglevel;
|
||||||
|
|
||||||
|
char*
|
||||||
|
kdc_log_msg_va(int level, const char *fmt, va_list ap)
|
||||||
|
{
|
||||||
|
FILE *f;
|
||||||
|
char *s;
|
||||||
|
|
||||||
|
if(level > loglevel)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if(logfile == NULL)
|
||||||
|
return NULL;
|
||||||
|
f = fopen(logfile, "a");
|
||||||
|
if(f == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
vasprintf(&s, fmt, ap);
|
||||||
|
|
||||||
|
if(s){
|
||||||
|
char buf[128];
|
||||||
|
strftime(buf, sizeof(buf), "%d-%b-%Y %H:%M:%S", localtime(&kdc_time));
|
||||||
|
fprintf(f, "%s %s\n", buf, s);
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
char*
|
||||||
|
kdc_log_msg(int level, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
char *s;
|
||||||
|
va_start(ap, fmt);
|
||||||
|
s = kdc_log_msg_va(level, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kdc_log(int level, const char *fmt, ...)
|
kdc_log(int level, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
FILE *f;
|
|
||||||
char buf[128];
|
|
||||||
char *s;
|
char *s;
|
||||||
|
|
||||||
if(level > loglevel)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if(logfile == NULL)
|
|
||||||
return;
|
|
||||||
f = fopen(logfile, "a");
|
|
||||||
if(f == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
vasprintf(&s, fmt, ap);
|
s = kdc_log_msg_va(level, fmt, ap);
|
||||||
|
if(s) free(s);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
if(s == NULL)
|
|
||||||
return;
|
|
||||||
strftime(buf, sizeof(buf), "%d-%b-%Y %H:%M:%S", localtime(&kdc_time));
|
|
||||||
fprintf(f, "%s %s\n", buf, s);
|
|
||||||
fclose(f);
|
|
||||||
free(s);
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user