* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: client.c,v 1.260 2004-12-09 09:25:44 adam Exp $
+ * $Id: client.c,v 1.261 2004-12-13 14:21:54 heikki Exp $
*/
#include <stdio.h>
#include <yaz/srw.h>
#include <yaz/yaz-ccl.h>
#include <yaz/cql.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#if HAVE_READLINE_READLINE_H
#include <readline/readline.h>
-## $Id: Makefile.am,v 1.23 2004-11-18 15:18:13 heikki Exp $
+## $Id: Makefile.am,v 1.24 2004-12-13 14:21:55 heikki Exp $
pkginclude_HEADERS= backend.h ccl.h cql.h comstack.h \
- diagbib1.h sortspec.h ylog.h log.h logrpn.h marcdisp.h nmem.h odr.h oid.h \
+ diagbib1.h sortspec.h log.h logrpn.h marcdisp.h nmem.h odr.h oid.h \
options.h otherinfo.h pquery.h prt-ext.h readconf.h statserv.h \
tcpip.h unix.h tpath.h wrbuf.h xmalloc.h \
yaz-ccl.h yaz-iconv.h yaz-util.h yaz-version.h yconfig.h proto.h \
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: log.h,v 1.27 2004-12-10 10:42:33 heikki Exp $
+ * $Id: log.h,v 1.28 2004-12-13 14:21:55 heikki Exp $
*/
/**
#ifndef LOG_H
#define LOG_H
-#include <yaz/ylog.h>
-
-#ifndef YAZ_USE_OLD_LOG
-#warning "use of log.h is deprecated, use ylog.h instead"
-/* if this warning gets on your nerves, run configure like this:
- * CFLAGS="-Wall -g -D YAZ_USE_OLD_LOG" ./configure
- */
-#endif
+#include <stdio.h>
+#include <yaz/yconfig.h>
YAZ_BEGIN_CDECL
+#ifndef YAZ_USE_NEW_LOG
+
+
/* The old LOG_ bit names are here for compatibility only. They may
* conflict with bits defined in syslog.h, or other places. 'LOG'
* really is not such a good name. YLOG must be more unique
/* logf is deprecated, as it conflicts with a math function */
#define logf yaz_log
+
+
+#endif /* ndef YAZ_USE_NEW_LOG */
+
+#define YLOG_FATAL 0x00000001
+#define YLOG_DEBUG 0x00000002
+#define YLOG_WARN 0x00000004
+#define YLOG_LOG 0x00000008
+#define YLOG_ERRNO 0x00000010 /* append strerror to message */
+/*#define YLOG_FILE 0x00000020 */
+/*#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 */
+ /* Application-level events, such as api calls */
+/* #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 */
+ /* this has to be a hard-coded bit, not to loop*/
+
+#define YLOG_ALL (0xffff&~YLOG_MALLOC&~YLOG_NOTIME)
+
+#define YLOG_DEFAULT_LEVEL (YLOG_FATAL | YLOG_ERRNO | YLOG_LOG | YLOG_WARN)
+
+#define YLOG_LAST_BIT YLOG_LOGLVL /* the last bit used for regular log bits */
+ /* the rest are for dynamic modules */
+
+
+/**
+ * yaz_log_init is a shorthand for initializing the log level and prefixes */
+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_log_init_level sets the logging level. Use an OR of the bits above */
+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_log_init_prefix2 sets an optional second 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
+ * Calling with "old" sets to the old format "11:55:06-02/11"
+ * Calling with NULL or "" sets to the new format "20041102-115719"
+ * If not called at all, the old format is used, for backward compatibility
+ */
+YAZ_EXPORT void yaz_log_time_format(const char *fmt);
+
+/**
+ * yaz_log_init_max_size sets the max size for a log file.
+ * zero means no limit. Negative means built-in limit (1GB)
+ */
+YAZ_EXPORT void yaz_log_init_max_size(int mx);
+
+/**
+ * yaz_log writes an entry in the log. Defaults to stderr if not initialized
+ * to a file with yaz_log_init_file. The level must match the level set via
+ * 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)))
+#endif
+ ;
+
+/**
+ * yaz_log_mask_str converts a comma-separated list of log levels to a bit
+ * mask. Starts from default level, and adds bits as specified, unless 'none'
+ * is specified, which clears the list. If a name matches the name of a
+ * YLOG_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_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_log_module_level returns a log level mask corresponding to the module
+ * name. If that had been specified on the -v arguments (that is, passed to
+ * yaz_log_mask_str), then a non-zero mask is returned. If not, we get a
+ * zero. This can later be used in yaz_log for the level argument
+ */
+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);
+
+YAZ_EXPORT void yaz_log_reopen(void);
+
YAZ_END_CDECL
#endif
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: yaz-util.h,v 1.13 2004-12-10 10:42:33 heikki Exp $
+ * $Id: yaz-util.h,v 1.14 2004-12-13 14:21:55 heikki Exp $
*/
/**
* \file yaz-util.h
#include <yaz/yaz-version.h>
#include <yaz/xmalloc.h>
-/* [y]log.h trickery */
-/* if [y]log.h has been included, do not worry about it */
-/* else warn here, and make sure log.h does not warn */
-
-#ifndef YLOG_H
-
-#ifndef YAZ_USE_OLD_LOG
-#warning "yaz-util.h is deprecated - include the files directly, and use ylog.h"
-/* If you get tired of this message, configure your program like this */
-/* CFLAGS="-Wall -g -D YAZ_USE_OLD_LOG" ./configure */
-#define YAZ_USE_OLD_LOG
-/* do not complain of the old log.h */
-#endif
-
#include <yaz/log.h>
-#endif
#include <yaz/tpath.h>
#include <yaz/options.h>
+++ /dev/null
-/*
- * 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,
- * provided that:
- *
- * 1. This copyright and permission notice appear in all copies of the
- * software and its documentation. Notices of copyright or attribution
- * which appear at the beginning of any file must remain unchanged.
- *
- * 2. The name of Index Data or the individual authors may not be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
- * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- *
- * $Id: ylog.h,v 1.3 2004-11-19 10:07:08 heikki Exp $
- */
-
-/**
- * \file log.h
- * \brief Header for logging utility
- */
-
-#ifndef YLOG_H
-#define YLOG_H
-
-#include <stdio.h>
-#include <yaz/yconfig.h>
-#include <yaz/xmalloc.h>
-
-YAZ_BEGIN_CDECL
-
-#define YLOG_FATAL 0x00000001
-#define YLOG_DEBUG 0x00000002
-#define YLOG_WARN 0x00000004
-#define YLOG_LOG 0x00000008
-#define YLOG_ERRNO 0x00000010 /* append strerror to message */
-/*#define YLOG_FILE 0x00000020 */
-/*#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 */
- /* Application-level events, such as api calls */
-/* #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 */
- /* this has to be a hard-coded bit, not to loop*/
-
-#define YLOG_ALL (0xffff&~YLOG_MALLOC&~YLOG_NOTIME)
-
-#define YLOG_DEFAULT_LEVEL (YLOG_FATAL | YLOG_ERRNO | YLOG_LOG | YLOG_WARN)
-
-#define YLOG_LAST_BIT YLOG_LOGLVL /* the last bit used for regular log bits */
- /* the rest are for dynamic modules */
-
-
-/**
- * yaz_log_init is a shorthand for initializing the log level and prefixes */
-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_log_init_level sets the logging level. Use an OR of the bits above */
-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_log_init_prefix2 sets an optional second 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
- * Calling with "old" sets to the old format "11:55:06-02/11"
- * Calling with NULL or "" sets to the new format "20041102-115719"
- * If not called at all, the old format is used, for backward compatibility
- */
-YAZ_EXPORT void yaz_log_time_format(const char *fmt);
-
-/**
- * yaz_log_init_max_size sets the max size for a log file.
- * zero means no limit. Negative means built-in limit (1GB)
- */
-YAZ_EXPORT void yaz_log_init_max_size(int mx);
-
-/**
- * yaz_log writes an entry in the log. Defaults to stderr if not initialized
- * to a file with yaz_log_init_file. The level must match the level set via
- * 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)))
-#endif
- ;
-
-/**
- * yaz_log_mask_str converts a comma-separated list of log levels to a bit
- * mask. Starts from default level, and adds bits as specified, unless 'none'
- * is specified, which clears the list. If a name matches the name of a
- * YLOG_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_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_log_module_level returns a log level mask corresponding to the module
- * name. If that had been specified on the -v arguments (that is, passed to
- * yaz_log_mask_str), then a non-zero mask is returned. If not, we get a
- * zero. This can later be used in yaz_log for the level argument
- */
-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);
-
-YAZ_EXPORT void yaz_log_reopen(void);
-
-YAZ_END_CDECL
-
-#endif
* Copyright (c) 1997-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: atoin.c,v 1.3 2004-10-15 00:18:59 adam Exp $
+ * $Id: atoin.c,v 1.4 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <string.h>
#include <ctype.h>
-#include <yaz/yaz-util.h>
+
/**
* atoi_n: like atoi but reads at most len characters.
* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: eventl.c,v 1.3 2004-11-18 15:18:13 heikki Exp $
+ * $Id: eventl.c,v 1.4 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <string.h>
#include <yaz/yconfig.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/comstack.h>
#include <yaz/xmalloc.h>
#include "eventl.h"
* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: log.c,v 1.17 2004-11-23 14:10:47 heikki Exp $
+ * $Id: log.c,v 1.18 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <errno.h>
#include <time.h>
#include <yaz/nmem.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
+#include <yaz/xmalloc.h>
static NMEM_MUTEX log_mutex = 0;
static int mutex_init_flag = 0; /* not yet initialized */
* Copyright (C) 1995-2004, Index Data
* All rights reserved.
*
- * $Id: logrpn.c,v 1.7 2004-11-18 15:18:13 heikki Exp $
+ * $Id: logrpn.c,v 1.8 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <stdio.h>
#include <assert.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/logrpn.h>
* Copyright (c) 1995-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: nmem.c,v 1.6 2004-11-18 15:18:13 heikki Exp $
+ * $Id: nmem.c,v 1.7 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <errno.h>
#include <yaz/xmalloc.h>
#include <yaz/nmem.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/oid.h>
#ifdef WIN32
* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: odr.c,v 1.9 2004-11-18 15:18:13 heikki Exp $
+ * $Id: odr.c,v 1.10 2004-12-13 14:21:55 heikki Exp $
*
*/
#include <stdarg.h>
#include <yaz/xmalloc.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include "odr-priv.h"
static int log_level=0;
* Copyright (C) 1994-2004, Index Data
* All rights reserved.
*
- * $Id: readconf.c,v 1.3 2004-11-18 15:18:13 heikki Exp $
+ * $Id: readconf.c,v 1.4 2004-12-13 14:21:55 heikki Exp $
*/
/**
#include <stdio.h>
#include <ctype.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/readconf.h>
#define l_isspace(c) ((c) == '\t' || (c) == ' ' || (c) == '\n' || (c) == '\r')
* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: seshigh.c,v 1.37 2004-12-02 19:12:52 adam Exp $
+ * $Id: seshigh.c,v 1.38 2004-12-13 14:21:55 heikki Exp $
*/
/**
* \file seshigh.c
#include "session.h"
#include <yaz/proto.h>
#include <yaz/oid.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/logrpn.h>
#include <yaz/statserv.h>
#include <yaz/diagbib1.h>
assoc->init->implementation_name,
odr_prepend(assoc->encode, "GFS", resp->implementationName));
- version = odr_strdup(assoc->encode, "$Revision: 1.37 $");
+ version = odr_strdup(assoc->encode, "$Revision: 1.38 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
resp->implementationVersion = odr_prepend(assoc->encode,
* NT threaded server code by
* Chas Woodfield, Fretwell Downing Informatics.
*
- * $Id: statserv.c,v 1.12 2004-11-18 15:18:13 heikki Exp $
+ * $Id: statserv.c,v 1.13 2004-12-13 14:21:55 heikki Exp $
*/
/**
#ifdef USE_XTIMOSI
#include <yaz/xmosi.h>
#endif
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include "eventl.h"
#include "session.h"
#include <yaz/statserv.h>
* Copyright (c) 1995-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: tcpdchk.c,v 1.3 2004-11-18 15:18:13 heikki Exp $
+ * $Id: tcpdchk.c,v 1.4 2004-12-13 14:21:56 heikki Exp $
*/
/**
* \file tcpdchk.c
#include <yaz/yconfig.h>
#include <yaz/comstack.h>
#include <yaz/statserv.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#if HAVE_TCPD_H
* Copyright (c) 1995-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: tpath.c,v 1.3 2004-11-18 15:18:14 heikki Exp $
+ * $Id: tpath.c,v 1.4 2004-12-13 14:21:56 heikki Exp $
*/
/**
* \file tpath.c
#include <string.h>
#include <ctype.h>
#include <yaz/tpath.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
FILE *yaz_path_fopen(const char *path, const char *name, const char *mode)
{
* Copyright (C) 1994-2004, Index Data
* All rights reserved.
*
- * $Id: xmalloc.c,v 1.3 2004-11-18 15:18:14 heikki Exp $
+ * $Id: xmalloc.c,v 1.4 2004-12-13 14:21:56 heikki Exp $
*/
/**
* \file xmalloc.c
#include <stdlib.h>
#include <string.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/xmalloc.h>
#ifndef TRACE_XMALLOC
* Copyright (c) 2000-2004, Index Data
* See the file LICENSE for details.
*
- * $Id: zoom-c.c,v 1.32 2004-11-18 15:18:14 heikki Exp $
+ * $Id: zoom-c.c,v 1.33 2004-12-13 14:21:56 heikki Exp $
*/
/**
* \file zoom-c.c
#include <yaz/yaz-util.h>
#include <yaz/xmalloc.h>
#include <yaz/otherinfo.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/pquery.h>
#include <yaz/marcdisp.h>
#include <yaz/diagbib1.h>
ZOOM_options_get(c->options, "implementationName"),
odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName));
- version = odr_strdup(c->odr_out, "$Revision: 1.32 $");
+ version = odr_strdup(c->odr_out, "$Revision: 1.33 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
ireq->implementationVersion = odr_prepend(c->odr_out,
* Copyright (c) 2004, Index Data
* See the file LICENSE for details.
*
- * $Id: tstlog.c,v 1.2 2004-11-18 15:18:14 heikki Exp $
+ * $Id: tstlog.c,v 1.3 2004-12-13 14:21:58 heikki Exp $
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <yaz/options.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
int main(int argc, char **argv)
{
* Copyright (c) 2002-2004, Index Data.
* See the file LICENSE for details.
*
- * $Id: zoomsh.c,v 1.30 2004-11-18 15:18:14 heikki Exp $
+ * $Id: zoomsh.c,v 1.31 2004-12-13 14:21:58 heikki Exp $
*/
/* ZOOM-C Shell */
#include <yaz/xmalloc.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#include <yaz/nmem.h>
#include <yaz/zoom.h>
#include <yaz/oid.h>
* Copyright (c) 1995-2003, Index Data.
* See the file LICENSE for details.
*
- * $Id: read-grs.c,v 1.9 2004-11-18 15:18:14 heikki Exp $
+ * $Id: read-grs.c,v 1.10 2004-12-13 14:21:59 heikki Exp $
*/
/*
#include <stdlib.h>
#include <yaz/proto.h>
-#include <yaz/ylog.h>
+#include <yaz/log.h>
#define GRS_MAX_FIELDS 50