https://bugs.openldap.org/show_bug.cgi?id=9726
--- Comment #18 from Shawn McKinney smckinney@symas.com --- (In reply to Howard Chu from comment #17)
(In reply to Shawn McKinney from comment #16)
(In reply to Howard Chu from comment #15)
It is talking about messages printed to stderr because of the debuglevel setting. it is not talking about the anomalous fprintf(stderr) messages scattered thru daemon code that don't belong there.
So, this means we now have two mechanisms that do the same thing. To prevent (the terminology) confusion, the old mechanism, debuglevel, should be deprecated IMO.
No. The fprintf(stderr) instances that you pointed out (e.g. in syncrepl.c) are behind testing #ifdef's that aren't built by default. For the purposes of this discussion, they don't exist.
There are not two mechanisms that do the same thing.
How are they different? I'm not talking about how they were implemented, obviously. We're discussing their behavior, i.e. does one replace the other from the user's perspective.
loglevel
``` loglevel <integer> [...] Specify the level at which debugging statements and operation statistics should be syslogged (currently logged to the syslogd(8) LOG_LOCAL4 facility). They must be considered subsystems rather than increasingly verbose log levels. Some messages with higher priority are logged regardless of the configured loglevel as soon as any logging is configured. Log levels are additive, and available levels are: 1 (0x1 trace) trace function calls 2 (0x2 packets) debug packet handling 4 (0x4 args) heavy trace debugging (function args) 8 (0x8 conns) connection management 16 (0x10 BER) print out packets sent and received 32 (0x20 filter) search filter processing 64 (0x40 config) configuration file processing 128 (0x80 ACL) access control list processing 256 (0x100 stats) connections, LDAP operations, results (recommended) 512 (0x200 stats2) stats2 log entries sent 1024 (0x400 shell) print communication with shell backends 2048 (0x800 parse) entry parsing 16384 (0x4000 sync) LDAPSync replication 32768 (0x8000 none) only messages that get logged whatever ```
debuglevel
``` # /opt/symas/lib/slapd -d ? Installed log subsystems:
Any (-1, 0xffffffff) Trace (1, 0x1) Packets (2, 0x2) Args (4, 0x4) Conns (8, 0x8) BER (16, 0x10) Filter (32, 0x20) Config (64, 0x40) ACL (128, 0x80) Stats (256, 0x100) Stats2 (512, 0x200) Shell (1024, 0x400) Parse (2048, 0x800) Sync (16384, 0x4000) None (32768, 0x8000) ```
I did find this in slapd(8), under -d
``` Remember that if you turn on packet logging, packets containing bind passwords will be output, so if you redirect the log to a logfile, that file should be read-protected. ```
I can infer this perhaps means given the same level setting for each, a different content will be output. But this isn't spelled out explicitly, FWICT.
Yes, of course the two worked differently prior to 2.6, but we're not considering those differences here.