From: franklahm <fra...@us...> - 2009-03-31 11:40:34
|
Update of /cvsroot/netatalk/netatalk/include/atalk In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20333/include/atalk Modified Files: logger.h Log Message: Implement runtime logging config option to cnid dbd backend. See #2721956. New option: -l <logconfig>. cnid_metad passed that to cnid_dbd ! Fixed: 0 is a valid fd (in logger.c) ! Added logger API documentation in logger.h. Modified Files: etc/afpd/afp_options.c etc/cnid_dbd/cnid_metad.c etc/cnid_dbd/main.c include/atalk/logger.h libatalk/util/logger.c libatalk/util/test/logger_test.c Index: logger.h =================================================================== RCS file: /cvsroot/netatalk/netatalk/include/atalk/logger.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** logger.h 3 Mar 2009 12:53:15 -0000 1.11 --- logger.h 31 Mar 2009 11:40:27 -0000 1.12 *************** *** 2,5 **** --- 2,59 ---- #define _ATALK_LOGGER_H 1 + /* + * logger LOG Macro Usage + * ====================== + * + * LOG(<logtype>, <loglevel>, "<string>"[, args]); + * + * + * logger API Setup + * ================ + * + * Standard interface: + * ------------------- + * + * setuplog(char *confstring) + * confstring = "<logtype> <loglevel> [<filename>]" + * + * Calling without <filename> configures basic logging to syslog. Specifying <filename> + * configures extended logging to <filename>. + * + * You can later disable logging by calling + * + * unsetuplog(char *confstring) + * confstring = "<logtype> [<any_string>]" + * + * Calling without <any_string> disables syslog logging, calling with <any_string> + * disables file logging. + * + * <logtype>: + * you can setup a default with "Default". Any other logtype used in LOG will then + * use the default if not setup itself. This is probabyl the only thing you may + * want to use. + * + * Example: + * setuplog("default log_debug /var/log/debug.log"); + * See also libatalk/util/test/logger_test.c + * + * "Legacy" interface: + * ------------------- + * + * Some netatalk daemons (31.3.2009.: e.g. atalkd, papd) may not be converted to + * use the new API and might still call + * + * syslog_setup(int loglevel, enum logtypes logtype, int display_options, int facility); + * + * directly. These daemons are therefore limited to syslog logging. Also their + * loglevel can't be changed at runtime. + * + * + * Note: + * dont get confused by log_init(). It only gets called if your app + * forgets to setup logging before calling LOG. + */ + + #include <limits.h> #include <stdio.h> *************** *** 146,151 **** int display_options, int facility); ! /* void setuplog(char *logsource, char *logtype, char *loglevel, char *filename); */ ! void setuplog(char *logtype, char *loglevel, char *filename); /* finish up and close the logs */ --- 200,210 ---- int display_options, int facility); ! /* This gets called e.g. from afpd.conf parsing code with a string like: */ ! /* "default log_maxdebug /var/log/afpd.log" */ ! void setuplog(const char *logstr); ! ! /* This gets called e.g. from afpd.conf parsing code with a string like: */ ! /* "default dummyname" */ ! void unsetuplog(const char *logstr); /* finish up and close the logs */ *************** *** 153,157 **** /* This function sets up the ProcessName */ ! void set_processname(char *processname); /* --- 212,216 ---- /* This function sets up the ProcessName */ ! void set_processname(const char *processname); /* |