274 lines
7.7 KiB
Plaintext
274 lines
7.7 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_BUFSIZE
|
|
int "RAMLOG buffer size"
|
|
default 1024
|
|
depends on RAMLOG_SYSLOG
|
|
---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
|
|
---help---
|
|
The maximum number of threads that may be waiting on the poll method.
|
|
|
|
config RAMLOG_OVERWRITE
|
|
bool "RAMLOG overwrite circular buffer"
|
|
default n
|
|
---help---
|
|
Enable overwrite of circular buffer. If RAMLOG buffer overflows,
|
|
overwrite it from the top of buffer and always keep the latest log.
|
|
|
|
endif
|
|
|
|
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_TIMESTAMP_FORMATTED
|
|
bool "Formatted syslog time"
|
|
default n
|
|
depends on SYSLOG_TIMESTAMP_REALTIME
|
|
---help---
|
|
Syslog timestamp will be formatted according to the
|
|
SYSLOG_TIMESTAMP_FORMAT format string.
|
|
|
|
config SYSLOG_TIMESTAMP_LOCALTIME
|
|
bool "Use local-time timestamp"
|
|
default n
|
|
depends on SYSLOG_TIMESTAMP_FORMATTED
|
|
---help---
|
|
If selected local time will be used for the timestamps.
|
|
Else, timestamps will be in UTC.
|
|
|
|
config SYSLOG_TIMESTAMP_FORMAT
|
|
string "Time format"
|
|
default "%e/%m/%y %H:%M:%S"
|
|
depends on SYSLOG_TIMESTAMP_FORMATTED
|
|
---help---
|
|
Formatter string for syslog timestamp printing.
|
|
Uses the standard "strftime" format specifiers.
|
|
|
|
config SYSLOG_TIMESTAMP_BUFFER
|
|
int "Formatted timestamp buffer size"
|
|
default 64
|
|
depends on SYSLOG_TIMESTAMP_FORMATTED
|
|
---help---
|
|
Buffer size to store syslog formatted timestamps.
|
|
|
|
config SYSLOG_PREFIX
|
|
bool "Prepend prefix to syslog message"
|
|
default n
|
|
---help---
|
|
Prepend prefix to syslog message.
|
|
|
|
config SYSLOG_PREFIX_STRING
|
|
string "Prefix string"
|
|
depends on SYSLOG_PREFIX
|
|
default ""
|
|
---help---
|
|
The prefix string to be prepend.
|
|
|
|
choice
|
|
prompt "System log device"
|
|
default SYSLOG_CONSOLE if !ARCH_LOWPUTC
|
|
default SYSLOG_DEFAULT if ARCH_LOWPUTC
|
|
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_WRITE
|
|
---help---
|
|
Use the system console as a SYSLOG output device.
|
|
|
|
config SYSLOG_RPMSG
|
|
bool "Log to RPMSG"
|
|
depends on OPENAMP
|
|
depends on SCHED_WORKQUEUE
|
|
select SYSLOG_WRITE
|
|
---help---
|
|
Use the rpmsg as a SYSLOG output device, send message to remote proc.
|
|
|
|
config SYSLOG_DEFAULT
|
|
bool "Default SYSLOG device"
|
|
---help---
|
|
syslog() interfaces will be present, but all output will go to the
|
|
up_putc(ARCH_LOWPUTC == y) or bit-bucket(ARCH_LOWPUTC == n).
|
|
|
|
endchoice
|
|
|
|
config SYSLOG_RPMSG_WORK_DELAY
|
|
int "SYSLOG RPMSG work delay(ms)"
|
|
default 100
|
|
depends on SYSLOG_RPMSG
|
|
|
|
config SYSLOG_RPMSG_SERVER
|
|
bool "Enable RPMSG server for SYSLOG"
|
|
default n
|
|
depends on OPENAMP
|
|
---help---
|
|
Use rpmsg to receive message from remote proc.
|
|
|
|
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
|