Symptom
When ALL APs are globally configured with a specific syslog logging level from the WLC (using the command for ALL APs, like 'config ap logging syslog level warnings all'), APs take the change, but IOS APs do not save it in NVRAM, only apply the change in memory and actively uses the new level without saving it properly, so after an AP reload or sometimes CAPWAP dropping, the AP comes back with the syslog level it previously had in NVRAM, not the latest that was configured globally from the WLC.
Example:
- Configure the new level to ALL APs from WLC:
(WLC) >config ap logging syslog level warnings all
(WLC) >show ap config global
AP global system logging host.................... 192.168.181.7
AP global syslog secure mode..................... Disabled
AP global system logging level................... warnings
- Check AP logging level from the WLC:
(WLC) >show ap config general IOSAP
Cisco AP Identifier.............................. 19
Cisco AP Name.................................... IOSAP
Logging trap severity level ..................... warnings
- Check logging level at the AP CLI:
IOSAP#show capwap client config | inc log
Syslog server 192.168.181.7
Syslog level informational
IOSAP#show log | in Trap logging
Trap logging: level warnings, 1178 message lines logged
Conditions
- IOS AP in Local or FlexConnect mode.
- Syslog logging level configured for ALL the APs from the WLC.
- AP is rebooted or sometimes when AP CAPWAP tunnel drops its current WLC.
- Confirmed in 8.5.161.0 and in 8.10.121.0.
Workaround
Need to reconfigure affected APs again.
The only way to force an IOS AP to preserve the logging level configured from the WLC (saving it in NVRAM) was to configure the level directly to the AP itself (not using the command for ALL); for example, with WLC command 'config ap logging syslog level warnings IOSAP'