CFG_TLS_CERT,
CFG_TLS_KEY,
CFG_LOGFILE_ROTATE,
+ CFG_LOGFILE_ONLY,
CFG_LAST
};
&config_generic, "( OLcfgGlAt:27 NAME 'olcLogFile' "
"EQUALITY caseExactMatch "
"SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
- { "logfile-only", "on|off", 2, 2, 0, ARG_ON_OFF,
- &logfile_only, "( OLcfgGlAt:102 NAME 'olcLogFileOnly' "
+ { "logfile-only", "on|off", 2, 2, 0, ARG_ON_OFF|ARG_MAGIC|CFG_LOGFILE_ONLY,
+ &config_generic, "( OLcfgGlAt:102 NAME 'olcLogFileOnly' "
"EQUALITY booleanMatch "
"SYNTAX OMsBoolean SINGLE-VALUE )", NULL, NULL },
{ "logfile-rotate", "max> <Mbyte> <hours", 4, 4, 0, ARG_MAGIC|CFG_LOGFILE_ROTATE,
static int new_daemon_threads;
+static int config_syslog;
+
static int
config_resize_lthreads(ConfigArgs *c)
{
rc = 1;
}
break;
+ case CFG_LOGFILE_ONLY:
+ c->value_int = logfile_only;
+ break;
case CFG_LOGFILE_ROTATE:
rc = 1;
if ( logfile_max ) {
logfile_close();
break;
+ case CFG_LOGFILE_ONLY:
+ /* remove loglevel from debuglevel */
+ slap_debug = slap_debug_orig;
+ ldap_syslog = config_syslog;
+ break;
+
case CFG_LOGFILE_ROTATE:
logfile_max = logfile_fslimit = logfile_age = 0;
break;
}
break;
+ case CFG_LOGFILE_ONLY:
+ slap_debug = slap_debug_orig;
+ if ( c->value_int ) {
+ slap_debug |= config_syslog;
+ ldap_syslog = 0;
+ } else {
+ ldap_syslog = config_syslog;
+ }
+ break;
+
case CFG_LOGFILE_ROTATE: {
unsigned lf_max, lf_mbyte, lf_hour;
if ( lutil_atoux( &lf_max, c->argv[1], 0 ) != 0 ) {
return 0;
}
-static int config_syslog;
-
static int
config_loglevel(ConfigArgs *c) {
int i;
config_syslog &= ~loglevel_ops[i].mask;
}
if ( slapMode & SLAP_SERVER_MODE ) {
- ldap_syslog = config_syslog;
+ slap_debug = slap_debug_orig;
+ if ( !logfile_only )
+ ldap_syslog = config_syslog;
}
return 0;
}
config_syslog = 0;
}
if ( slapMode & SLAP_SERVER_MODE ) {
- ldap_syslog = config_syslog;
+ if ( logfile_only ) {
+ slap_debug = slap_debug_orig | config_syslog;
+ ldap_syslog = 0;
+ } else {
+ ldap_syslog = config_syslog;
+ }
}
return(0);
}