Better rule for "fuzzy"
[yaz-moved-to-github.git] / include / yaz / log.h
index 2485705..2cd4865 100644 (file)
@@ -23,7 +23,7 @@
  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  * OF THIS SOFTWARE.
  *
- * $Id: log.h,v 1.32 2005-01-15 19:47:09 adam Exp $
+ * $Id: log.h,v 1.36 2006-03-21 13:58:50 adam Exp $
  */
 
 /**
@@ -45,13 +45,13 @@ YAZ_BEGIN_CDECL
 #define YLOG_LOG    0x00000008
 #define YLOG_ERRNO  0x00000010 /* append strerror to message */
 /*#define YLOG_FILE   0x00000020 */
-/*#define YLOG_APP    0x00000040 */ 
+#define YLOG_APP    0x00000040 
    /* Application level events (new-connection) */
 #define YLOG_MALLOC 0x00000080 /* debugging mallocs */
 #define YLOG_NOTIME 0x00000100 /* do not output date and time */
-/* #define YLOG_APP2   0x00000200 */
+#define YLOG_APP2   0x00000200 
    /* Application-level events, such as api calls */
-/* #define YLOG_APP3   0x00000400 */
+#define YLOG_APP3   0x00000400
    /* For more application-level events */
 #define YLOG_FLUSH  0x00000800 /* Flush log after every write (DEBUG does too) */
 #define YLOG_LOGLVL 0x00001000 /* log when modules query log levels */
@@ -104,9 +104,9 @@ YAZ_EXPORT void yaz_log_init_max_size(int mx);
  * yaz_log_init_level, optionally defined via yaz_log_mask_str. */
 YAZ_EXPORT void yaz_log(int level, const char *fmt, ...)
 #ifdef __GNUC__
-       __attribute__ ((format (printf, 2, 3)))
+        __attribute__ ((format (printf, 2, 3)))
 #endif
-       ;
+        ;
 
 /** 
  * yaz_log_mask_str converts a comma-separated list of log levels to a bit 
@@ -131,13 +131,18 @@ YAZ_EXPORT int yaz_log_module_level(const char *name);
 /** yaz_log_file returns the file handle for yaz_log. */
 YAZ_EXPORT FILE *yaz_log_file(void);
 
-YAZ_EXPORT void log_event_start(void (*func)(int level, const char *msg, void *info),
-       void *info);
-YAZ_EXPORT void log_event_end(void (*func)(int level, const char *msg, void *info),
-       void *info);
+/** yza_log_set_handler allows log output to be captured to something else */
+YAZ_EXPORT void yaz_log_set_handler(void (*func)(int, const char *,
+                                                 void *), void *info);
 
 YAZ_EXPORT void yaz_log_reopen(void);
 
+YAZ_EXPORT void log_event_start(void (*func)(int level, const char *msg,
+                                             void *info), void *info);
+
+YAZ_EXPORT void log_event_end(void (*func)(int level, const char *msg,
+                                           void *info), void *info);
+
 #if YAZ_USE_NEW_LOG
 
 #else
@@ -154,11 +159,11 @@ YAZ_EXPORT void yaz_log_reopen(void);
 #define LOG_LOG    YLOG_LOG /* Deprecated, use the modern dynamic log levels*/
 #define LOG_ERRNO  YLOG_ERRNO 
 #define LOG_FILE   0x00000020 /* Deprecated - no YLOG_ equivalent */
-#define LOG_APP    0x00000040 /* Deprecated - no YLOG_ equivalent */
+#define LOG_APP    YLOG_APP   /* Deprecated - no YLOG_ equivalent */
 #define LOG_MALLOC YLOG_MALLOC /* deprecated */
 #define LOG_NOTIME YLOG_NOTIME /* do not output date and time */
-#define LOG_APP2   0x00000200 /* Deprecated - no YLOG_ equivalent */
-#define LOG_APP3   0x00000400 /* Deprecated - no YLOG_ equivalent */
+#define LOG_APP2   YLOG_APP2  /* Deprecated - no YLOG_ equivalent */
+#define LOG_APP3   YLOG_APP3  /* Deprecated - no YLOG_ equivalent */
 #define LOG_FLUSH  YLOG_FLUSH 
 
 #define LOG_ALL    YLOG_ALL
@@ -174,3 +179,11 @@ YAZ_EXPORT void yaz_log_reopen(void);
 YAZ_END_CDECL
 
 #endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+