/*
- * Copyright (c) 1995-2003, Index Data.
+ * Copyright (c) 1995-2004, Index Data.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: log.h,v 1.16 2004-11-03 14:25:06 heikki Exp $
+ * $Id: log.h,v 1.19 2004-11-16 17:08:11 heikki Exp $
*/
/**
#define LOG_APP2 0x00000200 /* Application-level events, such as api calls */
#define LOG_APP3 0x00000400 /* For more application-level events */
#define LOG_FLUSH 0x00000800 /* Flush log after every write (DEBUG does too) */
+#define LOG_LOGLVL 0x00001000 /* log when modules query log levels */
+ /* this has to be a hard-coded bit, not to loop*/
#define LOG_ALL (0xffff&~LOG_MALLOC&~LOG_NOTIME)
#define LOG_DEFAULT_LEVEL (LOG_FATAL | LOG_ERRNO | LOG_LOG | LOG_WARN)
-#define LOG_LAST_BIT LOG_FLUSH /* the last bit used for regular log bits */
+#define LOG_LAST_BIT LOG_LOGLVL /* the last bit used for regular log bits */
/* the rest are for dynamic modules */
#define logf yaz_log
YAZ_EXPORT void yaz_log_init(int level, const char *prefix, const char *name);
/** yaz_log_init_file sets the file name used for yaz_log */
-YAZ_EXPORT void yaz_log_init_file (const char *fname);
+YAZ_EXPORT void yaz_log_init_file(const char *fname);
/** yaz_log_init_level sets the logging level. Use an OR of the bits above */
-YAZ_EXPORT void yaz_log_init_level (int level);
+YAZ_EXPORT void yaz_log_init_level(int level);
/** yaz_log_init_prefix sets the log prefix */
-YAZ_EXPORT void yaz_log_init_prefix (const char *prefix);
+YAZ_EXPORT void yaz_log_init_prefix(const char *prefix);
/** yaz_log_init_prefix2 sets an optional second prefix */
-YAZ_EXPORT void yaz_log_init_prefix2 (const char *prefix);
+YAZ_EXPORT void yaz_log_init_prefix2(const char *prefix);
/**
* yaz_log_time_format sets the format of the timestamp. See man 3 strftime
* is specified, which clears the list. If a name matches the name of a
* LOG_BIT above, that one is set. Otherwise a new value is picked, and given
* to that name, to be found with yaz_log_module_level */
-YAZ_EXPORT int yaz_log_mask_str (const char *str);
+YAZ_EXPORT int yaz_log_mask_str(const char *str);
/** yaz_log_mask_str_x is like yaz_log_mask_str, but with a given start value*/
-YAZ_EXPORT int yaz_log_mask_str_x (const char *str, int level);
+YAZ_EXPORT int yaz_log_mask_str_x(const char *str, int level);
+
/**
* yaz_log_module_level returns a log level mask corresponding to the module
/** 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),
+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),
+YAZ_EXPORT void log_event_end(void (*func)(int level, const char *msg, void *info),
void *info);
YAZ_EXPORT void yaz_log_reopen(void);