134 lines
4.6 KiB
Plaintext
134 lines
4.6 KiB
Plaintext
# Copyright (c) 2021 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Immediate mode cannot be used with network backend as it would cause the sent
|
|
# rsyslog message to be malformed.
|
|
config LOG_BACKEND_NET
|
|
bool "Networking backend"
|
|
depends on NETWORKING && (NET_UDP || NET_TCP) && !LOG_MODE_IMMEDIATE
|
|
select LOG_OUTPUT
|
|
help
|
|
Send syslog messages to network server.
|
|
See RFC 5424 (syslog protocol) and RFC 5426 (syslog over UDP) and
|
|
RFC 6587 (syslog over TCP) specifications for details.
|
|
|
|
if LOG_BACKEND_NET
|
|
|
|
config LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
bool "Print structured data according to RFC 5424"
|
|
help
|
|
Print additional structured data as described in
|
|
RFC 5424 chapter 6.3. Note that this might increase the
|
|
length of the syslog message a lot.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_TZKNOWN
|
|
bool "RFC 5424 chapter 7.1.1 tzKnown field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
The tzKnown parameter indicates whether the originator knows its time zone.
|
|
See RFC 5424 chapter 7.1 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_ISSYNCED
|
|
bool "RFC 5424 chapter 7.1.2 isSynced field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
The isSynced parameter indicates whether the originator is
|
|
synchronized to a reliable external time source, e.g., via NTP.
|
|
See RFC 5424 chapter 7.1 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_SOFTWARE
|
|
bool "RFC 5424 chapter 7.2.3 software description field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
Software description parameter uniquely identifies the software that
|
|
generated the message.
|
|
See RFC 5424 chapter 7.2 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_SOFTWARE_VALUE
|
|
string "RFC 5424 chapter 7.2.3 software field value"
|
|
default "zephyr"
|
|
depends on LOG_BACKEND_NET_RFC5424_SDATA_SOFTWARE
|
|
help
|
|
User defined value for the software field.
|
|
See RFC 5424 chapter 7.2.3 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_SOFTWARE_VERSION
|
|
bool "RFC 5424 chapter 7.2.4 software version field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
Software version parameter uniquely identifies the software that
|
|
generated the message.
|
|
See RFC 5424 chapter 7.2.4 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_SEQID
|
|
bool "RFC 5424 chapter 7.3.1 sequence id field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
Sequence id parameter tracks the sequence in which the
|
|
originator submits messages to the syslog transport for sending.
|
|
See RFC 5424 chapter 7.3.1 for details.
|
|
|
|
config LOG_BACKEND_NET_RFC5424_SDATA_UPTIME
|
|
bool "RFC 5424 chapter 7.3.2 system uptime field"
|
|
depends on LOG_BACKEND_NET_RFC5424_STRUCTURED_DATA
|
|
help
|
|
The system uptime parameter tracks the "time (in hundredths of a
|
|
second) since the network management portion of the system was last
|
|
re-initialized." For Zephyr this is currently interpreted as the
|
|
system uptime.
|
|
See RFC 5424 chapter 7.3.2 for details.
|
|
|
|
config LOG_BACKEND_NET_SERVER
|
|
string "Syslog server IP address"
|
|
help
|
|
This can be either IPv4 or IPv6 address.
|
|
Server listen UDP port number can be configured here too.
|
|
Following syntax is supported:
|
|
192.0.2.1:514
|
|
192.0.2.42
|
|
[2001:db8::1]:514
|
|
[2001:db8::2]
|
|
2001:db::42
|
|
If you want to use TCP, add "tcp://" in front of the address
|
|
like this
|
|
tcp://192.0.2.1:514
|
|
tcp://192.0.2.42
|
|
tcp://[2001:db8::1]:514
|
|
UDP is used by default if the URI is missing.
|
|
|
|
config LOG_BACKEND_NET_MAX_BUF_SIZE
|
|
int "Max syslog message size"
|
|
range 64 1180
|
|
default 1180 if NET_IPV6
|
|
default 480 if NET_IPV4
|
|
default 256
|
|
help
|
|
As each syslog message needs to fit to UDP packet, set this value
|
|
so that messages are not truncated.
|
|
The RFC 5426 recommends that for IPv4 the size is 480 octets and for
|
|
IPv6 the size is 1180 octets. As each buffer will use RAM, the value
|
|
should be selected so that typical messages will fit the buffer.
|
|
|
|
config LOG_BACKEND_NET_AUTOSTART
|
|
bool "Automatically start networking backend"
|
|
default y if NET_CONFIG_NEED_IPV4 || NET_CONFIG_NEED_IPV6
|
|
help
|
|
When enabled automatically start the networking backend on
|
|
application start. If no routes to the logging server are available
|
|
on application startup, this must be set to n and the backend must be
|
|
started by the application later on. Otherwise the logging
|
|
thread might block.
|
|
|
|
config LOG_BACKEND_NET_USE_DHCPV4_OPTION
|
|
bool "Use DHCPv4 Log Server Option to configure syslog server"
|
|
depends on NET_DHCPV4
|
|
help
|
|
When enabled the syslog server IP address is read from the DHCPv4
|
|
Log Server Option (7).
|
|
|
|
backend = NET
|
|
backend-str = net
|
|
source "subsys/logging/Kconfig.template.log_format_config"
|
|
|
|
endif # LOG_BACKEND_NET
|