Tidied logging, added debug

This commit is contained in:
James Booth
2015-06-08 21:26:44 +01:00
parent d25f8c9acb
commit ad6728e74b
3 changed files with 25 additions and 3 deletions

View File

@@ -27,6 +27,7 @@
#include "server/server.h" #include "server/server.h"
#include "server/prime.h" #include "server/prime.h"
#include "server/verify.h" #include "server/verify.h"
#include "server/log.h"
#include "stabber.h" #include "stabber.h"
@@ -39,12 +40,14 @@ stbbr_start(stbbr_log_t loglevel, int port, int httpport)
void void
stbbr_set_timeout(int seconds) stbbr_set_timeout(int seconds)
{ {
log_println(STBBR_LOGDEBUG, "Setting timeout: %d seconds", seconds);
verify_set_timeout(seconds); verify_set_timeout(seconds);
} }
int int
stbbr_auth_passwd(char *password) stbbr_auth_passwd(char *password)
{ {
log_println(STBBR_LOGDEBUG, "Setting auth password: %s", password);
prime_required_passwd(password); prime_required_passwd(password);
return 1; return 1;
} }
@@ -52,6 +55,7 @@ stbbr_auth_passwd(char *password)
int int
stbbr_for_id(char *id, char *stream) stbbr_for_id(char *id, char *stream)
{ {
log_println(STBBR_LOGDEBUG, "Stubbing for id: %s, stanza: %s", id, stream);
prime_for_id(id, stream); prime_for_id(id, stream);
return 1; return 1;
} }
@@ -59,6 +63,7 @@ stbbr_for_id(char *id, char *stream)
int int
stbbr_for_query(char *query, char *stream) stbbr_for_query(char *query, char *stream)
{ {
log_println(STBBR_LOGDEBUG, "Stubbing for query: %s, stanza: %s", query, stream);
prime_for_query(query, stream); prime_for_query(query, stream);
return 1; return 1;
} }
@@ -66,29 +71,34 @@ stbbr_for_query(char *query, char *stream)
void void
stbbr_wait_for(char *id) stbbr_wait_for(char *id)
{ {
log_println(STBBR_LOGDEBUG, "Waiting for id: %s", id);
server_wait_for(id); server_wait_for(id);
} }
int int
stbbr_last_received(char *stanza) stbbr_last_received(char *stanza)
{ {
log_println(STBBR_LOGDEBUG, "verifying last: %s", stanza);
return verify_last(stanza); return verify_last(stanza);
} }
int int
stbbr_received(char *stanza) stbbr_received(char *stanza)
{ {
log_println(STBBR_LOGDEBUG, "verifying: %s", stanza);
return verify_any(stanza); return verify_any(stanza);
} }
void void
stbbr_send(char *stream) stbbr_send(char *stream)
{ {
log_println(STBBR_LOGDEBUG, "Sending: %s", stream);
server_send(stream); server_send(stream);
} }
void void
stbbr_stop(void) stbbr_stop(void)
{ {
log_println(STBBR_LOGDEBUG, "Stopping stabber");
server_stop(); server_stop();
} }

View File

@@ -25,6 +25,7 @@
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#include <sys/prctl.h> #include <sys/prctl.h>
#include <pthread.h>
#include <glib.h> #include <glib.h>
#include <glib/gstdio.h> #include <glib/gstdio.h>
@@ -32,7 +33,9 @@
#include "stabber.h" #include "stabber.h"
static FILE *logp; static FILE *logp;
static gboolean logready = FALSE;
static stbbr_log_t minlevel; static stbbr_log_t minlevel;
pthread_mutex_t loglock;
gchar * gchar *
_xdg_get_data_home(void) _xdg_get_data_home(void)
@@ -107,6 +110,7 @@ _mkdir_recursive(const char *dir)
void void
log_init(stbbr_log_t loglevel) log_init(stbbr_log_t loglevel)
{ {
pthread_mutex_lock(&loglock);
minlevel = loglevel; minlevel = loglevel;
gchar *xdg_data = _xdg_get_data_home(); gchar *xdg_data = _xdg_get_data_home();
GString *log_dir = g_string_new(xdg_data); GString *log_dir = g_string_new(xdg_data);
@@ -119,6 +123,8 @@ log_init(stbbr_log_t loglevel)
logp = fopen(log_file, "a"); logp = fopen(log_file, "a");
g_chmod(log_file, S_IRUSR | S_IWUSR); g_chmod(log_file, S_IRUSR | S_IWUSR);
free(log_file); free(log_file);
logready = TRUE;
pthread_mutex_unlock(&loglock);
} }
static char* static char*
@@ -136,7 +142,8 @@ _levelstr(stbbr_log_t loglevel)
void void
log_println(stbbr_log_t loglevel, const char * const msg, ...) log_println(stbbr_log_t loglevel, const char * const msg, ...)
{ {
if (loglevel >= minlevel) { if (logready && loglevel >= minlevel) {
pthread_mutex_lock(&loglock);
va_list arg; va_list arg;
va_start(arg, msg); va_start(arg, msg);
GString *fmt_msg = g_string_new(NULL); GString *fmt_msg = g_string_new(NULL);
@@ -154,13 +161,17 @@ log_println(stbbr_log_t loglevel, const char * const msg, ...)
g_free(date_fmt); g_free(date_fmt);
g_string_free(fmt_msg, TRUE); g_string_free(fmt_msg, TRUE);
va_end(arg); va_end(arg);
pthread_mutex_unlock(&loglock);
} }
} }
void void
log_close(void) log_close(void)
{ {
if (logp) { pthread_mutex_lock(&loglock);
if (logready && logp) {
fclose(logp); fclose(logp);
} }
logready = FALSE;
pthread_mutex_unlock(&loglock);
} }

View File

@@ -255,7 +255,7 @@ server_wait_for(char *id)
void* void*
_start_server_cb(void* userdata) _start_server_cb(void* userdata)
{ {
prctl(PR_SET_NAME, "stbbr"); prctl(PR_SET_NAME, "stbr");
struct sockaddr_in client_addr; struct sockaddr_in client_addr;
@@ -299,6 +299,7 @@ _start_server_cb(void* userdata)
int int
server_run(stbbr_log_t loglevel, int port, int httpport) server_run(stbbr_log_t loglevel, int port, int httpport)
{ {
prctl(PR_SET_NAME, "main");
pthread_mutex_lock(&send_queue_lock); pthread_mutex_lock(&send_queue_lock);
send_queue = NULL; send_queue = NULL;
pthread_mutex_unlock(&send_queue_lock); pthread_mutex_unlock(&send_queue_lock);