Gearman Developer Documentation

libgearman/log.c
Go to the documentation of this file.
00001 /* Gearman server and library
00002  * Copyright (C) 2008-2009 Brian Aker, Eric Day
00003  * All rights reserved.
00004  *
00005  * Use and distribution licensed under the BSD license.  See
00006  * the COPYING file in the parent directory for full text.
00007  */
00008 
00014 #include "common.h"
00015 
00016 
00017 void gearman_log(gearman_universal_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 gearman_log_fatal(gearman_universal_st *gearman, const char *format,
00037                        ...)
00038 {
00039   va_list args;
00040 
00041   if (gearman->verbose >= GEARMAN_VERBOSE_FATAL)
00042   {
00043     va_start(args, format);
00044     gearman_log(gearman, GEARMAN_VERBOSE_FATAL, format, args);
00045     va_end(args);
00046   }
00047 }
00048 
00049 void gearman_log_error(gearman_universal_st *gearman, const char *format,
00050                        ...)
00051 {
00052   va_list args;
00053 
00054   if (gearman->verbose >= GEARMAN_VERBOSE_ERROR)
00055   {
00056     va_start(args, format);
00057     gearman_log(gearman, GEARMAN_VERBOSE_ERROR, format, args);
00058     va_end(args);
00059   }
00060 }
00061 
00062 void gearman_log_info(gearman_universal_st *gearman, const char *format,
00063                       ...)
00064 {
00065   va_list args;
00066 
00067   if (gearman->verbose >= GEARMAN_VERBOSE_INFO)
00068   {
00069     va_start(args, format);
00070     gearman_log(gearman, GEARMAN_VERBOSE_INFO, format, args);
00071     va_end(args);
00072   }
00073 }
00074 
00075 void gearman_log_debug(gearman_universal_st *gearman, const char *format,
00076                        ...)
00077 {
00078   va_list args;
00079 
00080   if (gearman->verbose >= GEARMAN_VERBOSE_DEBUG)
00081   {
00082     va_start(args, format);
00083     gearman_log(gearman, GEARMAN_VERBOSE_DEBUG, format, args);
00084     va_end(args);
00085   }
00086 }
00087 
00088 void gearman_log_crazy(gearman_universal_st *gearman, const char *format,
00089                        ...)
00090 {
00091   va_list args;
00092 
00093   if (gearman->verbose >= GEARMAN_VERBOSE_CRAZY)
00094   {
00095     va_start(args, format);
00096     gearman_log(gearman, GEARMAN_VERBOSE_CRAZY, format, args);
00097     va_end(args);
00098   }
00099 }
00100 
00101