00001
00002
00003
00004
00005
00006
00007
00008
00014 #include "common.h"
00015
00016
00017 void gearmand_log(gearmand_st *state, gearman_verbose_t verbose,
00018 const char *format, va_list args)
00019 {
00020 char log_buffer[GEARMAN_MAX_ERROR_SIZE];
00021
00022 if (state->log_fn == NULL)
00023 {
00024 printf("%5s: ", gearman_verbose_name(verbose));
00025 vprintf(format, args);
00026 printf("\n");
00027 }
00028 else
00029 {
00030 vsnprintf(log_buffer, GEARMAN_MAX_ERROR_SIZE, format, args);
00031 state->log_fn(log_buffer, verbose, (void *)state->log_context);
00032 }
00033 }
00034
00035
00036 void gearmand_log_fatal(gearmand_st *gearman, const char *format, ...)
00037 {
00038 va_list args;
00039
00040 if (gearman->verbose >= GEARMAN_VERBOSE_FATAL)
00041 {
00042 va_start(args, format);
00043 gearmand_log(gearman, GEARMAN_VERBOSE_FATAL, format, args);
00044 va_end(args);
00045 }
00046 }
00047
00048 void gearmand_log_error(gearmand_st *gearman, const char *format, ...)
00049 {
00050 va_list args;
00051
00052 if (gearman->verbose >= GEARMAN_VERBOSE_ERROR)
00053 {
00054 va_start(args, format);
00055 gearmand_log(gearman, GEARMAN_VERBOSE_ERROR, format, args);
00056 va_end(args);
00057 }
00058 }
00059
00060 void gearmand_log_info(gearmand_st *gearman, const char *format, ...)
00061 {
00062 va_list args;
00063
00064 if (gearman->verbose >= GEARMAN_VERBOSE_INFO)
00065 {
00066 va_start(args, format);
00067 gearmand_log(gearman, GEARMAN_VERBOSE_INFO, format, args);
00068 va_end(args);
00069 }
00070 }
00071
00072 void gearmand_log_debug(gearmand_st *gearman, const char *format, ...)
00073 {
00074 va_list args;
00075
00076 if (gearman->verbose >= GEARMAN_VERBOSE_DEBUG)
00077 {
00078 va_start(args, format);
00079 gearmand_log(gearman, GEARMAN_VERBOSE_DEBUG, format, args);
00080 va_end(args);
00081 }
00082 }
00083
00084 void gearmand_log_crazy(gearmand_st *gearman, const char *format, ...)
00085 {
00086 va_list args;
00087
00088 if (gearman->verbose >= GEARMAN_VERBOSE_CRAZY)
00089 {
00090 va_start(args, format);
00091 gearmand_log(gearman, GEARMAN_VERBOSE_CRAZY, format, args);
00092 va_end(args);
00093 }
00094 }
00095
00096 void gearman_conf_error_set(gearman_conf_st *conf, const char *msg, const char *format, ...)
00097 {
00098 va_list args;
00099 char *ptr;
00100 size_t length= strlen(msg);
00101
00102 ptr= memcpy(conf->last_error, msg, length);
00103 ptr+= length;
00104
00105 va_start(args, format);
00106 vsnprintf(ptr, GEARMAN_MAX_ERROR_SIZE- length, format, args);
00107 va_end(args);
00108 }
00109
00110