source: trunk/gsdl/packages/yaz/include/yaz/log.h@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 KB
Line 
1/*
2 * Copyright (c) 1995-2000, Index Data.
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and
5 * its documentation, in whole or in part, for any purpose, is hereby granted,
6 * provided that:
7 *
8 * 1. This copyright and permission notice appear in all copies of the
9 * software and its documentation. Notices of copyright or attribution
10 * which appear at the beginning of any file must remain unchanged.
11 *
12 * 2. The name of Index Data or the individual authors may not be used to
13 * endorse or promote products derived from this software without specific
14 * prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20 * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22 * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24 * OF THIS SOFTWARE.
25 *
26 * $Log$
27 * Revision 1.1 2000/08/03 03:10:38 johnmcp
28 * Added the YAZ toolkit source to the packages directory (for z39.50 stuff)
29 *
30 * Revision 1.2 2000/02/28 11:20:06 adam
31 * Using autoconf. New definitions: YAZ_BEGIN_CDECL/YAZ_END_CDECL.
32 *
33 * Revision 1.1 1999/11/30 13:47:11 adam
34 * Improved installation. Moved header files to include/yaz.
35 *
36 * Revision 1.15 1999/08/27 09:40:32 adam
37 * Renamed logf function to yaz_log. Removed VC++ project files.
38 *
39 * Revision 1.14 1998/10/28 10:26:59 adam
40 * New functions log_init_file, log_init_level, log_init_prefix.
41 *
42 * Revision 1.13 1998/10/13 16:11:11 adam
43 * Added printf-format check for logf when using GNUC.
44 *
45 * Revision 1.12 1997/09/04 07:59:02 adam
46 * Added include of xmalloc.h.
47 *
48 * Revision 1.11 1997/09/01 08:49:48 adam
49 * New windows NT/95 port using MSV5.0. To export DLL functions the
50 * YAZ_EXPORT modifier was added. Defined in yconfig.h.
51 *
52 * Revision 1.10 1997/05/14 06:53:40 adam
53 * C++ support.
54 *
55 * Revision 1.9 1997/05/01 15:06:42 adam
56 * Added log_mask_str_x routine.
57 *
58 * Revision 1.8 1996/05/01 12:45:00 quinn
59 * *** empty log message ***
60 *
61 * Revision 1.7 1996/02/05 12:24:26 adam
62 * Implemented log_event_{start,end}-functions.
63 *
64 * Revision 1.6 1995/10/10 16:27:06 quinn
65 * *** empty log message ***
66 *
67 * Revision 1.5 1995/09/29 17:12:03 quinn
68 * Smallish
69 *
70 * Revision 1.4 1995/09/27 15:02:47 quinn
71 * Modified function heads & prototypes.
72 *
73 * Revision 1.3 1995/06/19 12:38:25 quinn
74 * Reorganized include-files. Added small features.
75 *
76 * Revision 1.2 1995/05/16 08:50:31 quinn
77 * License, documentation, and memory fixes
78 *
79 * Revision 1.1 1995/03/30 09:39:41 quinn
80 * Moved .h files to include directory
81 *
82 * Revision 1.4 1994/09/28 13:07:22 adam
83 * Added log_mask_str.
84 *
85 * Revision 1.3 1994/08/18 08:18:45 quinn
86 * Added prefix to log_init.
87 *
88 * Revision 1.2 1994/08/17 14:27:46 quinn
89 * added LOG_ERRNO
90 *
91 * Revision 1.1 1994/08/17 13:22:52 quinn
92 * First version
93 *
94 */
95
96#ifndef LOG_H
97#define LOG_H
98
99#include <stdio.h>
100#include <yaz/yconfig.h>
101#include <yaz/xmalloc.h>
102
103YAZ_BEGIN_CDECL
104
105#define LOG_FATAL 0x0001
106#define LOG_DEBUG 0x0002
107#define LOG_WARN 0x0004
108#define LOG_LOG 0x0008
109#define LOG_ERRNO 0x0010 /* append strerror to message */
110#define LOG_FILE 0x0020
111
112#define LOG_ALL 0xffff
113
114#define LOG_DEFAULT_LEVEL (LOG_FATAL | LOG_ERRNO | LOG_LOG | LOG_WARN)
115
116#define logf yaz_log
117
118YAZ_EXPORT void log_init(int level, const char *prefix, const char *name);
119YAZ_EXPORT void log_init_file (const char *fname);
120YAZ_EXPORT void log_init_level (int level);
121YAZ_EXPORT void log_init_prefix (const char *prefix);
122
123YAZ_EXPORT void yaz_log(int level, const char *fmt, ...)
124#ifdef __GNUC__
125 __attribute__ ((format (printf, 2, 3)))
126#endif
127 ;
128YAZ_EXPORT int log_mask_str (const char *str);
129YAZ_EXPORT int log_mask_str_x (const char *str, int level);
130YAZ_EXPORT FILE *log_file(void);
131
132YAZ_EXPORT void log_event_start (void (*func)(int level, const char *msg, void *info),
133 void *info);
134YAZ_EXPORT void log_event_end (void (*func)(int level, const char *msg, void *info),
135 void *info);
136
137YAZ_END_CDECL
138
139#endif
Note: See TracBrowser for help on using the repository browser.