setlogmask “setlogmask” command
Overview
The setlogmask command changes which syslog priority levels are
accepted by the NuttX syslog mask. It is useful when debugging because it
can raise the mask to include verbose messages or lower it so that only
high-priority messages are emitted.
The command calls setlogmask(LOG_UPTO(<priority>)). A selected priority
therefore enables messages at that priority and all higher-priority syslog
levels.
Configuration
Enable the application with CONFIG_SYSTEM_SETLOGMASK.
The program name, task priority, and stack size are controlled by:
CONFIG_SYSTEM_SETLOGMASK_PROGNAMECONFIG_SYSTEM_SETLOGMASK_PRIORITYCONFIG_SYSTEM_SETLOGMASK_STACKSIZE
When CONFIG_SYSLOG_IOCTL is enabled, the command also supports listing
syslog channels and enabling or disabling a named channel through
/dev/log ioctls.
Usage
setlogmask <d|i|n|w|e|c|a|r>
setlogmask list
setlogmask <enable|disable> <channel>
setlogmask -h
The list, enable, and disable forms are available only when
CONFIG_SYSLOG_IOCTL is enabled.
Priority arguments
Each single-letter argument selects the lowest priority level that remains enabled by the mask:
Argument |
Syslog priority |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Examples
Allow messages through LOG_DEBUG:
nsh> setlogmask d
Limit syslog output to emergency, alert, critical, error, and warning messages:
nsh> setlogmask w
List configured syslog channels when channel ioctls are enabled:
nsh> setlogmask list
Channels:
syslog: enable
Disable a named syslog channel when channel ioctls are enabled:
nsh> setlogmask disable syslog
Notes
The scope of the syslog mask depends on the NuttX build configuration. In a flat build there is one global mask. In a protected build, kernel and user space each have a separate mask. In a kernel build, the user-space mask is per process and kernel code has a separate mask.