2012-08-03 01:09:25 +08:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 22:08:57 +08:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2012-08-03 01:09:25 +08:00
|
|
|
#
|
|
|
|
|
2016-06-21 23:59:09 +08:00
|
|
|
menu "System Logging"
|
2012-08-03 01:09:25 +08:00
|
|
|
|
2016-06-19 23:52:34 +08:00
|
|
|
# Selected if the architecture has its own, built-in SYSLOGging enabled
|
2016-06-19 04:54:25 +08:00
|
|
|
|
2016-06-20 01:16:12 +08:00
|
|
|
config ARCH_SYSLOG
|
2016-06-19 23:21:52 +08:00
|
|
|
bool
|
|
|
|
default n
|
2016-06-19 04:54:25 +08:00
|
|
|
|
2017-05-11 04:42:43 +08:00
|
|
|
# Selected if the SYSLOG device supports multi-byte write operations
|
|
|
|
|
|
|
|
config SYSLOG_WRITE
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2012-08-03 01:09:25 +08:00
|
|
|
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
|
2014-07-02 02:00:40 +08:00
|
|
|
config RAMLOG_BUFSIZE
|
2012-08-03 01:09:25 +08:00
|
|
|
int "RAMLOG buffer size"
|
|
|
|
default 1024
|
2020-02-18 02:10:15 +08:00
|
|
|
depends on RAMLOG_SYSLOG
|
2012-08-03 01:09:25 +08:00
|
|
|
---help---
|
|
|
|
Size of the console RAM log. Default: 1024
|
|
|
|
|
|
|
|
config RAMLOG_CRLF
|
|
|
|
bool "RAMLOG CR/LF"
|
|
|
|
default n
|
|
|
|
---help---
|
2016-06-23 00:08:20 +08:00
|
|
|
Pre-pend a carriage return before every linefeed that goes into the
|
|
|
|
RAM log.
|
2012-08-03 01:09:25 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
endif
|
2015-02-08 20:53:24 +08:00
|
|
|
|
2016-06-19 23:21:52 +08:00
|
|
|
config DRIVER_NOTE
|
|
|
|
bool "Scheduler instrumentation driver"
|
|
|
|
default n
|
2016-11-29 08:36:26 +08:00
|
|
|
depends on SCHED_INSTRUMENTATION_BUFFER && SCHED_NOTE_GET
|
2016-06-19 23:21:52 +08:00
|
|
|
---help---
|
2016-06-19 23:52:34 +08:00
|
|
|
Enable building a serial driver that can be used by an application
|
2016-11-28 07:14:57 +08:00
|
|
|
to read data from the in-memory, scheduler instrumentation "note"
|
2016-06-19 23:52:34 +08:00
|
|
|
buffer.
|
2016-06-19 22:46:46 +08:00
|
|
|
|
2017-05-11 04:42:43 +08:00
|
|
|
config SYSLOG_BUFFER
|
|
|
|
bool "Use buffered output"
|
|
|
|
default n
|
|
|
|
depends on SYSLOG_WRITE
|
2017-05-11 07:36:08 +08:00
|
|
|
select MM_IOB
|
2017-05-11 04:42:43 +08:00
|
|
|
---help---
|
|
|
|
Enables an buffering logic that will be used to serialize debug
|
|
|
|
output from concurrent tasks. This enables allocation of one buffer
|
2017-05-11 07:36:08 +08:00
|
|
|
per thread, each of size CONFIG_IOB_BUFSIZE.
|
2017-05-11 04:42:43 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2016-06-19 23:47:13 +08:00
|
|
|
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.
|
2016-06-19 22:46:46 +08:00
|
|
|
|
|
|
|
config SYSLOG_TIMESTAMP
|
|
|
|
bool "Prepend timestamp to syslog message"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Prepend timestamp to syslog message.
|
|
|
|
|
2017-08-04 22:02:52 +08:00
|
|
|
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.
|
|
|
|
|
2018-08-26 20:49:35 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-21 23:59:09 +08:00
|
|
|
choice
|
|
|
|
prompt "System log device"
|
2020-02-23 00:15:59 +08:00
|
|
|
default SYSLOG_CONSOLE if !ARCH_LOWPUTC
|
|
|
|
default SYSLOG_DEFAULT if ARCH_LOWPUTC
|
2016-06-20 01:16:12 +08:00
|
|
|
depends on !ARCH_SYSLOG
|
2016-06-21 23:59:09 +08:00
|
|
|
|
|
|
|
config SYSLOG_CHAR
|
|
|
|
bool "Log to a character device"
|
2017-05-11 04:42:43 +08:00
|
|
|
select SYSLOG_WRITE
|
2016-06-19 22:46:46 +08:00
|
|
|
---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.
|
|
|
|
|
2016-06-21 23:59:09 +08:00
|
|
|
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
|
2019-11-08 21:43:24 +08:00
|
|
|
be viewed from NSH using the 'dmesg' command.
|
2016-06-21 23:59:09 +08:00
|
|
|
|
|
|
|
config SYSLOG_CONSOLE
|
|
|
|
bool "Log to /dev/console"
|
|
|
|
depends on DEV_CONSOLE
|
2017-05-11 04:42:43 +08:00
|
|
|
select SYSLOG_WRITE
|
2016-06-21 23:59:09 +08:00
|
|
|
---help---
|
|
|
|
Use the system console as a SYSLOG output device.
|
|
|
|
|
2019-11-03 01:30:33 +08:00
|
|
|
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.
|
|
|
|
|
2020-02-23 00:15:59 +08:00
|
|
|
config SYSLOG_DEFAULT
|
|
|
|
bool "Default SYSLOG device"
|
2016-06-21 23:59:09 +08:00
|
|
|
---help---
|
|
|
|
syslog() interfaces will be present, but all output will go to the
|
2020-02-23 00:15:59 +08:00
|
|
|
up_putc(ARCH_LOWPUTC == y) or bit-bucket(ARCH_LOWPUTC == n).
|
2016-06-21 23:59:09 +08:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2019-11-03 01:30:33 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-22 02:25:15 +08:00
|
|
|
config SYSLOG_FILE
|
2018-07-09 08:24:45 +08:00
|
|
|
bool "Syslog file output"
|
2016-06-22 02:25:15 +08:00
|
|
|
default n
|
2017-05-11 04:42:43 +08:00
|
|
|
select SYSLOG_WRITE
|
2016-06-22 02:25:15 +08:00
|
|
|
---help---
|
2018-07-09 08:24:45 +08:00
|
|
|
Build in support to use a file to collect SYSLOG output. File SYSLOG
|
2016-06-22 02:25:15 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-21 23:59:09 +08:00
|
|
|
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.
|
2016-06-19 22:46:46 +08:00
|
|
|
|
2016-06-23 00:08:20 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-19 22:46:46 +08:00
|
|
|
config SYSLOG_DEVPATH
|
|
|
|
string "System log device"
|
2016-07-06 02:58:18 +08:00
|
|
|
default "/dev/ttyS1"
|
2016-06-19 22:46:46 +08:00
|
|
|
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")/
|
|
|
|
|
2016-07-06 02:58:18 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-21 23:59:09 +08:00
|
|
|
endmenu # System logging
|