| # 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 |