mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
Added sys_adminlog() system for info the appliance admins really
need to know about. Different from the DEBUG system. Jeremy. (This used to be commit 74eac41c681f92a6da0ae2167f031e021862e0d8)
This commit is contained in:
parent
a2819db2f0
commit
0cb0c6e903
@ -1049,6 +1049,39 @@ int vasprintf(char **ptr, const char *format, va_list ap);
|
||||
#define S_IXOTH 00001 /* execute permission: other */
|
||||
#endif
|
||||
|
||||
/* For sys_adminlog(). */
|
||||
#ifndef LOG_EMERG
|
||||
#define LOG_EMERG 0 /* system is unusable */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_ALERT
|
||||
#define LOG_ALERT 1 /* action must be taken immediately */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_CRIT
|
||||
#define LOG_CRIT 2 /* critical conditions */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_ERR
|
||||
#define LOG_ERR 3 /* error conditions */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_WARNING
|
||||
#define LOG_WARNING 4 /* warning conditions */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_NOTICE
|
||||
#define LOG_NOTICE 5 /* normal but significant condition */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_INFO
|
||||
#define LOG_INFO 6 /* informational */
|
||||
#endif
|
||||
|
||||
#ifndef LOG_DEBUG
|
||||
#define LOG_DEBUG 7 /* debug-level messages */
|
||||
#endif
|
||||
|
||||
/* NetBSD doesn't have these */
|
||||
#ifndef SHM_R
|
||||
#define SHM_R 0400
|
||||
|
@ -1204,3 +1204,31 @@ const char *sys_dlerror(void)
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
Wrapper for Admin Logs.
|
||||
****************************************************************************/
|
||||
|
||||
void sys_adminlog(int priority, const char *format_str, ...)
|
||||
{
|
||||
va_list ap;
|
||||
int ret;
|
||||
char **msgbuf = NULL;
|
||||
|
||||
if (!lp_admin_log())
|
||||
return;
|
||||
|
||||
va_start( ap, format_str );
|
||||
ret = vasprintf( msgbuf, format_str, ap );
|
||||
va_end( ap );
|
||||
|
||||
if (ret == -1)
|
||||
return;
|
||||
|
||||
#if defined(HAVE_SYSLOG)
|
||||
syslog( priority, "%s", *msgbuf );
|
||||
#else
|
||||
DEBUG(0,("%s", *msgbuf ));
|
||||
#endif
|
||||
SAFE_FREE(*msgbuf);
|
||||
}
|
||||
|
@ -247,6 +247,7 @@ typedef struct
|
||||
BOOL bReadPrediction;
|
||||
BOOL bReadbmpx;
|
||||
BOOL bSyslogOnly;
|
||||
BOOL bAdminLog;
|
||||
BOOL bBrowseList;
|
||||
BOOL bNISHomeMap;
|
||||
BOOL bTimeServer;
|
||||
@ -793,6 +794,8 @@ static struct parm_struct parm_table[] = {
|
||||
#endif /* WITH_SSL */
|
||||
|
||||
{"Logging Options", P_SEP, P_SEPARATOR},
|
||||
|
||||
{"admin log", P_BOOL, P_GLOBAL, &Globals.bAdminLog, NULL, NULL, 0},
|
||||
{"log level", P_INTEGER, P_GLOBAL, &DEBUGLEVEL_CLASS[DBGC_ALL], handle_debug_list, NULL, 0},
|
||||
{"debuglevel", P_INTEGER, P_GLOBAL, &DEBUGLEVEL_CLASS[DBGC_ALL], handle_debug_list, NULL, 0},
|
||||
{"syslog", P_INTEGER, P_GLOBAL, &Globals.syslog, NULL, NULL, 0},
|
||||
@ -1285,6 +1288,7 @@ static void init_globals(void)
|
||||
Globals.bStripDot = False;
|
||||
Globals.syslog = 1;
|
||||
Globals.bSyslogOnly = False;
|
||||
Globals.bAdminLog = False;
|
||||
Globals.bTimestampLogs = True;
|
||||
Globals.bDebugHiresTimestamp = False;
|
||||
Globals.bDebugPid = False;
|
||||
@ -1607,6 +1611,7 @@ FN_GLOBAL_BOOL(lp_strip_dot, &Globals.bStripDot)
|
||||
FN_GLOBAL_BOOL(lp_encrypted_passwords, &Globals.bEncryptPasswords)
|
||||
FN_GLOBAL_BOOL(lp_update_encrypted, &Globals.bUpdateEncrypt)
|
||||
FN_GLOBAL_BOOL(lp_syslog_only, &Globals.bSyslogOnly)
|
||||
FN_GLOBAL_BOOL(lp_admin_log, &Globals.bAdminLog)
|
||||
FN_GLOBAL_BOOL(lp_timestamp_logs, &Globals.bTimestampLogs)
|
||||
FN_GLOBAL_BOOL(lp_debug_hires_timestamp, &Globals.bDebugHiresTimestamp)
|
||||
FN_GLOBAL_BOOL(lp_debug_pid, &Globals.bDebugPid)
|
||||
|
Loading…
x
Reference in New Issue
Block a user