229 lines
6.8 KiB
Plaintext
229 lines
6.8 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menu "System Logging"
|
|
|
|
# Selected if the architecture has its own, built-in SYSLOGging enabled
|
|
|
|
config ARCH_SYSLOG
|
|
bool
|
|
default n
|
|
|
|
# Selected if the SYSLOG device supports multi-byte write operations
|
|
|
|
config SYSLOG_WRITE
|
|
bool
|
|
default n
|
|
|
|
config RAMLOG
|
|
bool "RAM log device support"
|
|
default n
|
|
---help---
|
|
This is a driver that was intended to support debugging output,
|
|
aka syslogging, when the normal serial output is not available.
|
|
For example, if you are using a telnet or USB serial console,
|
|
the debug output will get lost. However, the RAMLOG device should
|
|
be usable even if system logging is disabled.
|
|
|
|
This driver is similar to a pipe in that it saves the debugging
|
|
output in a FIFO in RAM. It differs from a pipe in numerous
|
|
details as needed to support logging.
|
|
|
|
if RAMLOG
|
|
config RAMLOG_CONSOLE
|
|
bool "Use RAMLOG for /dev/console"
|
|
default n
|
|
depends on DEV_CONSOLE
|
|
---help---
|
|
Use the RAM logging device as a system console. If this feature is enabled (along
|
|
with DEV_CONSOLE), then all console output will be re-directed to a circular
|
|
buffer in RAM. This is useful, for example, if the only console is a Telnet
|
|
console. Then in that case, console output from non-Telnet threads will go to
|
|
the circular buffer and can be viewed using the NSH 'dmesg' command.
|
|
|
|
config RAMLOG_BUFSIZE
|
|
int "RAMLOG buffer size"
|
|
default 1024
|
|
depends on RAMLOG_SYSLOG || RAMLOG_CONSOLE
|
|
---help---
|
|
Size of the console RAM log. Default: 1024
|
|
|
|
config RAMLOG_CRLF
|
|
bool "RAMLOG CR/LF"
|
|
default n
|
|
---help---
|
|
Pre-pend a carriage return before every linefeed that goes into the
|
|
RAM log.
|
|
|
|
config RAMLOG_NONBLOCKING
|
|
bool "RAMLOG non-block reads"
|
|
default y
|
|
---help---
|
|
Reading from the RAMLOG will never block if the RAMLOG is empty. If the RAMLOG
|
|
is empty, then zero is returned (usually interpreted as end-of-file).
|
|
|
|
config RAMLOG_NPOLLWAITERS
|
|
int "RAMLOG number of poll waiters"
|
|
default 4
|
|
depends on !DISABLE_POLL
|
|
---help---
|
|
The maximum number of threads that may be waiting on the poll method.
|
|
|
|
endif
|
|
|
|
config DRIVER_NOTE
|
|
bool "Scheduler instrumentation driver"
|
|
default n
|
|
depends on SCHED_INSTRUMENTATION_BUFFER && SCHED_NOTE_GET
|
|
---help---
|
|
Enable building a serial driver that can be used by an application
|
|
to read data from the in-memory, scheduler instrumentation "note"
|
|
buffer.
|
|
|
|
config SYSLOG_BUFFER
|
|
bool "Use buffered output"
|
|
default n
|
|
depends on SYSLOG_WRITE
|
|
select MM_IOB
|
|
---help---
|
|
Enables an buffering logic that will be used to serialize debug
|
|
output from concurrent tasks. This enables allocation of one buffer
|
|
per thread, each of size CONFIG_IOB_BUFSIZE.
|
|
|
|
The use of SYSLOG buffering is optional. If not enabled, however,
|
|
then the output from multiple tasks that attempt to generate SYSLOG
|
|
output may be interleaved and difficult to read.
|
|
|
|
config SYSLOG_INTBUFFER
|
|
bool "Use interrupt buffer"
|
|
default n
|
|
---help---
|
|
Enables an interrupt buffer that will be used to serialize debug
|
|
output from interrupt handlers.
|
|
|
|
config SYSLOG_INTBUFSIZE
|
|
int "Interrupt buffer size"
|
|
default 512
|
|
depends on SYSLOG_INTBUFFER
|
|
---help---
|
|
The size of the interrupt buffer in bytes.
|
|
|
|
config SYSLOG_TIMESTAMP
|
|
bool "Prepend timestamp to syslog message"
|
|
default n
|
|
---help---
|
|
Prepend timestamp to syslog message.
|
|
|
|
config SYSLOG_TIMESTAMP_REALTIME
|
|
bool "Use wall-clock for syslog timestamp"
|
|
default n
|
|
depends on SYSLOG_TIMESTAMP
|
|
---help---
|
|
Use wall-clock (CLOCK_REALTIME) for timestamp. By default,
|
|
CLOCK_MONOTONIC, if enabled, will be used or the system timer
|
|
is not.
|
|
|
|
config SYSLOG_SERIAL_CONSOLE
|
|
bool
|
|
default n
|
|
|
|
choice
|
|
prompt "System log device"
|
|
default SYSLOG_CONSOLE if DEV_CONSOLE
|
|
default SYSLOG_NONE if !DEV_CONSOLE
|
|
depends on !ARCH_SYSLOG
|
|
|
|
config SYSLOG_CHAR
|
|
bool "Log to a character device"
|
|
select SYSLOG_WRITE
|
|
---help---
|
|
Enable the generic character device for the SYSLOG. The full path to the
|
|
SYSLOG device is provided by SYSLOG_DEVPATH. A valid character device (or
|
|
file) must exist at this path. It will by opened by syslog_initialize.
|
|
|
|
config RAMLOG_SYSLOG
|
|
bool "Use RAMLOG for SYSLOG"
|
|
depends on RAMLOG && !ARCH_SYSLOG
|
|
---help---
|
|
Use the RAM logging device for the syslogging interface. If this
|
|
feature is enabled (along with SYSLOG), then all debug output (only)
|
|
will be re-directed to the circular buffer in RAM. This RAM log can
|
|
be viewed from NSH using the 'dmesg'command.
|
|
|
|
config SYSLOG_CONSOLE
|
|
bool "Log to /dev/console"
|
|
depends on DEV_CONSOLE
|
|
select SYSLOG_SERIAL_CONSOLE if SERIAL_CONSOLE
|
|
select SYSLOG_WRITE
|
|
---help---
|
|
Use the system console as a SYSLOG output device.
|
|
|
|
config SYSLOG_NONE
|
|
bool "No SYSLOG device"
|
|
---help---
|
|
syslog() interfaces will be present, but all output will go to the
|
|
bit-bucket.
|
|
|
|
endchoice
|
|
|
|
config SYSLOG_FILE
|
|
bool "Syslog file output"
|
|
default n
|
|
select SYSLOG_WRITE
|
|
---help---
|
|
Build in support to use a file to collect SYSLOG output. File SYSLOG
|
|
channels differ from other SYSLOG channels in that they cannot be
|
|
established until after fully booting and mounting the target file
|
|
system. The function syslog_file_channel() would need to be called
|
|
from board-specific bring-up logic AFTER mounting the file system
|
|
containing 'devpath'.
|
|
|
|
NOTE interrupt level SYSLOG output will be lost in this case unless
|
|
the interrupt buffer is used.
|
|
|
|
config CONSOLE_SYSLOG
|
|
bool "Use SYSLOG for /dev/console"
|
|
default n
|
|
depends on DEV_CONSOLE && !SYSLOG_CONSOLE
|
|
---help---
|
|
Use the syslog logging device as a system console. If this feature is
|
|
enabled (along with DEV_CONSOLE), then all console output will be
|
|
re-directed to syslog output (syslog_putc). This is useful, for
|
|
example, if the only console is a Telnet console. Then in that case,
|
|
console output from non-Telnet threads will go to the syslog output.
|
|
|
|
config SYSLOG_CHAR_CRLF
|
|
bool "SYSLOG device CR/LF"
|
|
default y
|
|
depends on SYSLOG_CHAR
|
|
---help---
|
|
Pre-pend a carriage return before every linefeed that goes to the
|
|
character device.
|
|
|
|
config SYSLOG_DEVPATH
|
|
string "System log device"
|
|
default "/dev/ttyS1"
|
|
depends on SYSLOG_CHAR
|
|
---help---
|
|
The full path to the system logging device. For the RAMLOG SYSLOG device,
|
|
this is normally "/dev/ramlog". For character SYSLOG devices, it should be
|
|
some other existing character device (or file) supported by the configuration
|
|
(such as "/dev/ttyS1")/
|
|
|
|
config SYSLOG_CHARDEV
|
|
bool "SYSLOG character device"
|
|
default n
|
|
---help---
|
|
Enables support for a simple character driver at /dev/syslog whose
|
|
write() method will transfer data to the SYSLOG device. This can be
|
|
useful if, for example, you want to redirect the output of a program
|
|
to the SYSLOG.
|
|
|
|
NOTE that unlike other syslog output, this data is unformatted raw
|
|
byte output with no time-stamping or any other SYSLOG features
|
|
supported.
|
|
|
|
endmenu # System logging
|