comparison src/log.c @ 43:2842f50feb55 noffle

[svn] * client.c, client.h, common.h, config.c, config.h, content.c, content.h, control.c, control.h, database.c, database.h, dynamicstring.c, dynamicstring.h, fetch.c, fetch.h, fetchlist.c, fetchlist.h, group.c, group.h, itemlist.c, itemlist.h, lock.c, lock.h, log.c, log.h, noffle.c, online.c, online.h, outgoing.c, outgoing.h, over.c, over.h, post.c, post.h, protocol.c, protocol.h, pseudo.c, pseudo.h, request.c, request.h, server.c, server.h, util.c, util.h, wildmat.c, wildmat.h: Moved files to the subdirectory src/ * Makefile.am, acconfig.h, configure.in, docs/Makefile.am, src/Makefile.am, Makefile.in, aclocal.m4, config.h.in, configure, install-sh, missing, mkinstalldirs, stamp-h.in, docs/Makefile.in, src/Makefile.in: Added files. They are used by aclocal, autoheader, autoconf and automake. * src/config.c, src/config.h: Renamed to configfile.c and configfile.h, because configure will generate a config.h file itself. * src/client.c, src/content.c, src/database.c, src/fetch.c, src/fetchlist.c, src/group.c, src/lock.c, src/noffle.c, src/online.c, src/outgoing.c, src/over.c, src/pseudo.c, src/request.c, src/server.c, src/util.c: Changed '#include "config.h"' to '#include "configfile.h"'. * src/client.c, src/content.c, src/database.c, src/fetch.c, src/fetchlist.c, src/group.c, src/lock.c, src/online.c, src/outgoing.c, src/post.c, src/protocol.c, src/request.c, src/server.c: Files now #include <config.h>. Added missing <stdio.h>. This removes the warnings about snprintf() not being declared. * Makefile: Removed. This is now generated by configure.
author uh1763
date Fri, 05 May 2000 22:45:56 +0100
parents
children 32ba1198c6fa
comparison
equal deleted inserted replaced
42:2467ff423c15 43:2842f50feb55
1 /*
2 log.c
3
4 $Id: log.c 49 2000-05-05 21:45:56Z uh1763 $
5 */
6
7 #include <syslog.h>
8 #include <stdarg.h>
9 #include "common.h"
10
11 #define MAXLENGTH 240
12
13 struct
14 {
15 Bool interactive;
16 } log = { FALSE };
17
18 void
19 Log_init( Str name, Bool interactive, int facility )
20 {
21 int option = LOG_PID | LOG_CONS;
22
23 log.interactive = interactive;
24 openlog( name, option, facility );
25 }
26
27 #define DO_LOG( LEVEL ) \
28 va_list ap; \
29 Str t; \
30 \
31 va_start( ap, fmt ); \
32 vsnprintf( t, MAXCHAR, fmt, ap ); \
33 if ( MAXLENGTH < MAXCHAR ) \
34 t[ MAXLENGTH ] = '\0'; \
35 syslog( LEVEL, "%s", t ); \
36 if ( log.interactive ) \
37 fprintf( stderr, "%s\n", t ); \
38 va_end( ap );
39
40 void
41 Log_inf( const char *fmt, ... )
42 {
43 DO_LOG( LOG_INFO );
44 }
45
46 void
47 Log_err( const char *fmt, ... )
48 {
49 DO_LOG( LOG_ERR );
50 }
51
52 /* Ensure the condition "cond" is true; otherwise log an error and return 1 */
53 int
54 Log_check(int cond, const char *fmt, ... )
55 {
56 if (!cond) {
57 DO_LOG( LOG_ERR );
58 return 1;
59 }
60 return 0;
61 }
62
63 void
64 Log_ntc( const char *fmt, ... )
65 {
66 DO_LOG( LOG_NOTICE );
67 }
68
69 void
70 Log_dbg( const char *fmt, ... )
71 {
72 #ifdef DEBUG
73 DO_LOG( LOG_DEBUG );
74 #endif
75 }