diff options
Diffstat (limited to 'meta-agl-ic-container/recipes-extended')
5 files changed, 624 insertions, 0 deletions
diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch new file mode 100644 index 00000000..5fb3a9b2 --- /dev/null +++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/0001-Disable-noisy-log-from-dlt-daemon.patch @@ -0,0 +1,130 @@ +From 2e6c7359a1b2b0946f8f6583a1bcdbb78d1feef9 Mon Sep 17 00:00:00 2001 +From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> +Date: Thu, 18 May 2023 01:02:46 +0900 +Subject: [PATCH] Disable noisy log from dlt-daemon + +The dlt-daemon out some own log. But it's a verbose log. +On the other hand, these verbose log difficult to mask by dlt-viewer. +This patch disable these verbose log. + +Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp> +--- + src/daemon/dlt-daemon.c | 7 ------- + src/daemon/dlt_daemon_common.c | 20 -------------------- + src/daemon/dlt_daemon_event_handler.c | 4 ---- + 3 files changed, 31 deletions(-) + +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c +index 74f4049..d659011 100644 +--- a/src/daemon/dlt-daemon.c ++++ b/src/daemon/dlt-daemon.c +@@ -2333,9 +2333,6 @@ int dlt_daemon_process_control_connect( + return -1; + } + +- if (verbose) +- dlt_vlog(LOG_INFO, "New connection to control client established\n"); +- + return 0; + } + +@@ -2379,9 +2376,6 @@ int dlt_daemon_process_app_connect( + return -1; + } + +- if (verbose) +- dlt_vlog(LOG_INFO, "New connection to application established\n"); +- + return 0; + } + #endif +@@ -3489,7 +3483,6 @@ int create_timer_fd(DltDaemonLocal *daemon_local, + + if ((period_sec <= 0) || (starts_in <= 0)) { + /* timer not activated via the service file */ +- dlt_vlog(LOG_INFO, "<%s> not set: period=0\n", timer_name); + local_fd = DLT_FD_INIT; + } + else { +diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c +index 6ba5935..7940b96 100644 +--- a/src/daemon/dlt_daemon_common.c ++++ b/src/daemon/dlt_daemon_common.c +@@ -896,13 +896,6 @@ DltDaemonContext *dlt_daemon_context_add(DltDaemon *daemon, + + if (trace_status > daemon->default_trace_status) + trace_status = daemon->default_trace_status; +- +- dlt_vlog(LOG_NOTICE, +- "Adapting ll_ts for context: %.4s:%.4s with %i %i\n", +- apid, +- ctid, +- log_level, +- trace_status); + } + + /* Store log level and trace status, +@@ -1370,14 +1363,6 @@ int dlt_daemon_user_send_log_level(DltDaemon *daemon, DltDaemonContext *context, + + usercontext.log_level_pos = context->log_level_pos; + +- dlt_vlog(LOG_NOTICE, "Send log-level to context: %.4s:%.4s [%i -> %i] [%i -> %i]\n", +- context->apid, +- context->ctid, +- context->log_level, +- usercontext.log_level, +- context->trace_status, +- usercontext.trace_status); +- + /* log to FIFO */ + errno = 0; + ret = dlt_user_log_out2(context->user_handle, +@@ -1617,23 +1602,18 @@ void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState) + { + switch (newState) { + case DLT_DAEMON_STATE_INIT: +- dlt_log(LOG_INFO, "Switched to init state.\n"); + daemon->state = DLT_DAEMON_STATE_INIT; + break; + case DLT_DAEMON_STATE_BUFFER: +- dlt_log(LOG_INFO, "Switched to buffer state for socket connections.\n"); + daemon->state = DLT_DAEMON_STATE_BUFFER; + break; + case DLT_DAEMON_STATE_BUFFER_FULL: +- dlt_log(LOG_INFO, "Switched to buffer full state.\n"); + daemon->state = DLT_DAEMON_STATE_BUFFER_FULL; + break; + case DLT_DAEMON_STATE_SEND_BUFFER: +- dlt_log(LOG_INFO, "Switched to send buffer state for socket connections.\n"); + daemon->state = DLT_DAEMON_STATE_SEND_BUFFER; + break; + case DLT_DAEMON_STATE_SEND_DIRECT: +- dlt_log(LOG_INFO, "Switched to send direct state.\n"); + daemon->state = DLT_DAEMON_STATE_SEND_DIRECT; + break; + } +diff --git a/src/daemon/dlt_daemon_event_handler.c b/src/daemon/dlt_daemon_event_handler.c +index db5767a..192f631 100644 +--- a/src/daemon/dlt_daemon_event_handler.c ++++ b/src/daemon/dlt_daemon_event_handler.c +@@ -402,8 +402,6 @@ int dlt_connection_check_activate(DltEventHandler *evhdl, + case ACTIVE: + + if (activation_type == DEACTIVATE) { +- dlt_vlog(LOG_INFO, "Deactivate connection type: %u\n", con->type); +- + dlt_event_handler_disable_fd(evhdl, con->receiver->fd); + + if (con->type == DLT_CONNECTION_CLIENT_CONNECT) +@@ -416,8 +414,6 @@ int dlt_connection_check_activate(DltEventHandler *evhdl, + case INACTIVE: + + if (activation_type == ACTIVATE) { +- dlt_vlog(LOG_INFO, "Activate connection type: %u\n", con->type); +- + dlt_event_handler_enable_fd(evhdl, + con->receiver->fd, + con->ev_mask); +-- +2.25.1 + diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf new file mode 100644 index 00000000..177ee8f3 --- /dev/null +++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt-system.conf @@ -0,0 +1,200 @@ +# Configuration file of DLT system manager +# + +######################################################################## +# General configuration +######################################################################## + +# The application Id used for the System manager (Default: SYS) +ApplicationId = SYS + +######################################################################## +# Shell configuration +######################################################################## + +# Be careful when you enable this feature. The user can send any kind of +# shell commands. The commands are executed with the rights of the +# dlt-system process. Dlt-system is started by default as user genivi. + +# Enable the Shell for command line injections (Default: 0) +ShellEnable = 0 + +######################################################################## +# Syslog Adapter configuration +######################################################################## + +# Enable the Syslog Adapter (Default: 0) +# Enable only when systemd is already running in your system otherwise +# logs will not come to Client (e.g. dlt_viewer). +SyslogEnable = 0 + +# The Context Id of the syslog adapter (Default: SYSL) +SyslogContextId = SYSL + +# The UDP port opened by DLT system mamager to receive system logs (Default: 47111) +SyslogPort = 47111 + +######################################################################## +# Systemd Journal Adapter configuration +######################################################################## + +# This feature is only available, when dlt is compiled with +# the option "WITH_SYSTEMD_JOURNAL" + +# Dlt-system is started by default as user genivi, see dlt-system.service file. +# The user genivi must be added to one of the groups 'adm', 'wheel' or +# 'systemd-journal' to have access to all journal entries. +# Enable Systemd Journal Adapter only when your system doesn't have systemd. +# Don't enable both (SyslogEnable = 1 and JournalEnable = 1) together because +# it causes bind error (can see on connected client). + +# Enable the Systemd Journal Adapter (Default: 0) +JournalEnable = 1 + +# The Context Id of the journal adapter (Default: JOUR) +JournalContextId = JOUR + +# Show only log entries of current boot and follow (Default: 1) +# if not JournalCurrentBoot and not JournalFollow is set all +# persistent journal entries will be logged +JournalCurrentBoot = 1 + +# Show only the last 10 entries and follow (Default: 0) +JournalFollow = 0 + +# Map the log levels (Default: 1) +# Mapping journal log levels to DLT log levels +# 0 Emergency DLT_LOG_FATAL +# 1 Alert DLT_LOG_FATAL +# 2 Critical DLT_LOG_FATAL +# 3 Error DLT_LOG_ERROR +# 4 Warning DLT_LOG_WARN +# 5 Notice DLT_LOG_INFO +# 6 Informational DLT_LOG_INFO +# 7 Debug DLT_LOG_DEBUG +JournalMapLogLevels = 1 + +# Use the original timestamp (uptime when the event actually occured) as DLT timestamp (Default: 1) +JournalUseOriginalTimestamp = 1 + +######################################################################## +# Filetransfer Manager +######################################################################## + +# Enable the Filetransfer (Default: 0) +FiletransferEnable = 0 + +# The Context Id of the filetransfer (Default: FILE) +FiletransferContextId = FILE + +# Time in seconds after startup of dlt-system when first file is transfered (Default: 0) +FiletransferTimeStartup = 0 + +# Time in ms seconds to wait between two file transfer logs of a single file to DLT. (Default: 10) +FiletransferTimeoutBetweenLogs = 5 + +# You can define multiple file transfer directories +# Define the directory to watch, whether to compress +# the file with zlib and the zlib compression level +# For parsing purposes, FiletransferCompressionLevel +# must be the last one of three values. +# For compressing and sending following subdirectories are used: .tocompress and .tosend +FiletransferDirectory = /var/dlt/ft1 +FiletransferCompression = 1 +FiletransferCompressionLevel = 5 + +# Second directory to watch +FiletransferDirectory = /var/dlt/ft2 +FiletransferCompression = 0 +FiletransferCompressionLevel = 5 + +# And so on... +FiletransferDirectory = /var/dlt/ft3 +FiletransferCompression = 0 +FiletransferCompressionLevel = 5 + + +######################################################################## +# Log short files, especially from proc filesystem +######################################################################## + +# Enable the logging of files (Default: 0) +LogFileEnable = 0 + +# Log different files +# Mode: 0 = off, 1 = startup only, 2 = regular +# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent + +# Log the file /etc/sysrel +LogFileFilename = /etc/sysrel +LogFileMode = 1 +LogFileTimeDelay = 3 +LogFileContextId = VER + +# Log the file /proc/version +LogFileFilename = /proc/version +LogFileMode = 1 +LogFileTimeDelay = 3 +LogFileContextId = VERK + +# Log the file /proc/meminfo +# LogFileFilename = /proc/meminfo +# LogFileMode = 2 +# LogFileTimeDelay = 5 +# LogFileContextId = MEM + +# Log the file /proc/cpuinfo +# LogFileFilename = /proc/cpuinfo +# LogFileMode = 2 +# LogFileTimeDelay = 5 +# LogFileContextId = CPU + +# Log the file /proc/stat +LogFileFilename = /proc/stat +LogFileMode = 2 +LogFileTimeDelay = 1 +LogFileContextId = STAT + +# Log the file /proc/modules +# LogFileFilename = /proc/modules +# LogFileMode = 2 +# LogFileTimeDelay = 5 +# LogFileContextId = MOD + +# Log the file /proc/ioports +# LogFileFilename = /proc/ioports +# LogFileMode = 1 +# LogFileTimeDelay = 5 +# LogFileContextId = IOP + +# Log the file /proc/iomem +# LogFileFilename = /proc/iomem +# LogFileMode = 1 +# LogFileTimeDelay = 5 +# LogFileContextId = IOM + +######################################################################## +# Log Processes +######################################################################## + +# Enable the logging of processes (Default: 0) +LogProcessesEnable = 0 + +# The Context Id of the kernel version (Default: PROC) +LogProcessesContextId = PROC + +# Log different processes +# Name: * = all process, X=alternative name (must correspind to /proc/X/cmdline +# Filename: the filename in the subdirectory /proc/processid/ +# Mode: 0 = off, 1 = startup only, 2 = regular +# TimeDelay: If mode regular is set, time delay is the number of seconds for next sent + +LogProcessName = * +LogProcessFilename = stat +LogProcessMode = 2 +LogProcessTimeDelay = 5 + +# LogProcessName = dlt_viewer +# LogProcessFilename = stat +# LogProcessMode = 2 +# LogProcessTimeDelay = 1 diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf new file mode 100644 index 00000000..444eb123 --- /dev/null +++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt.conf @@ -0,0 +1,213 @@ +# Configuration file of DLT daemon +# +# Configurations made here will overwrite settings by command line + +######################################################################## +# General configuration # +######################################################################## + +# Start daemon in debug mode, so that all internal debug information is printed out on the console +# Verbose = 1 + +# Daemonize DLT daemon, if it is started as daemon +# Daemonize = 1 + +# Send DLT messages with serial header +# SendSerialHeader = 1 + +# Send automatic get log info response during context registration +SendContextRegistration = 1 + +# Option of get log info response during context registration (Default: 7) +# Apid and Ctid Only = 3, with LogLevel = 4, with TraceStatus = 5, with LL and TS = 6, with LL, TS, and Description = 7 +# SendContextRegistrationOption = 7 + +# Send automatic time packets every second if client is connected (Default: 0) +# SendMessageTime = 0 + +# Set ECU ID (Default: ECU1) +ECUId = ECU1 + +# Size of shared memory (Default: 100000) +SharedMemorySize = 100000 + +# Directory where to store the persistant configuration (Default: /tmp) +# PersistanceStoragePath = /tmp + +# The logging console for internal logging of dlt-daemon (Default: 0) +# 0 = log to stdout +# 1 = log to syslog +# 2 = log to file (see LoggingFilename) +# 3 = log to stderr +LoggingMode = 0 + +# The internal log level, up to which logs are written (Default: 6) +# LOG_EMERG = 0, LOG_ALERT = 1, LOG_CRIT = 2, LOG_ERR = 3, LOG_WARNING = 4, LOG_NOTICE = 5, LOG_INFO = 6, LOG_DEBUG = 7 +LoggingLevel = 6 + +# The logging filename if internal logging mode is log to file (Default: /tmp/dlt.log) +LoggingFilename = /tmp/dlt.log + +# Timeout on send to client (sec) +TimeOutOnSend = 4 + +# The minimum size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 500000) +RingbufferMinSize = 500000 + +# The max size of the Ringbuffer, used for storing temporary DLT messages, until client is connected (Default: 10000000) +RingbufferMaxSize = 10000000 + +# The step size the Ringbuffer is increased, used for storing temporary DLT messages, until client is connected (Default: 500000) +RingbufferStepSize = 500000 + +# The size of Daemon FIFO (/tmp/dlt) (Default: 65536, MinSize: depend on pagesize of system, MaxSize: please check /proc/sys/fs/pipe-max-size) +# This is only supported for Linux. +# DaemonFIFOSize = 65536 + +# Initial log-level that is sent when an application registers (Default: 4) +# DLT_LOG_OFF = 0, DLT_LOG_FATAL = 1, DLT_LOG_ERROR = 2, DLT_LOG_WARN = 3, DLT_LOG_INFO = 4, DLT_LOG_DEBUG = 5, DLT_LOG_VERBOSE = 6 +# ContextLogLevel = 4 + +# Initial trace-status that is sent when an application registers (Default: 0) +# DLT_TRACE_STATUS_OFF = 0, DLT_TRACE_STATUS_ON = 1 +# ContextTraceStatus = 0 + +# Force log level and trace status of context to not exceed "ContextLogLevel" and "ContextTraceStatus" (Default: 0 = OFF) +# If set to 1 (ON) whenever a context registers or changes the log-level it has to be lower or equal to ContextLogLevel +# ForceContextLogLevelAndTraceStatus = 1 + +# Allows injection mode usage (Default: 1) +# InjectionMode = 1 + +######################################################################## +# Gateway Configuration # +######################################################################## +# Enable Gateway mode (Default: 0) +# GatewayMode = 1 + +# Read gateway configuration from another location +# GatewayConfigFile = /etc/dlt_gateway.conf + +######################################################################## +# Permission configuration # +# ==================================================================== # +# Owner group of daemon FIFO directory(Default: /tmp/dlt) +# (If not set, primary group of dlt-daemon process is used) +# DaemonFifoGroup = dlt_user_apps_group + +######################################################################## +# Control Application # +######################################################################## +ControlSocketPath = /tmp/dlt-ctrl.sock + +######################################################################## +# Offline Trace memory # +######################################################################## + +# Store DLT messages to local directory, if not set offline Trace is off (Default: off) +# OfflineTraceDirectory = /tmp + +# Maximum size in bytes of one trace file (Default: 1000000) +# OfflineTraceFileSize = 1000000 + +# Maximum size of all trace files (Default: 4000000) +# OfflineTraceMaxSize = 4000000 + +# Filename timestamp based or index based (Default:1) (timestamp based=1, index based =0) +# OfflineTraceFileNameTimestampBased = 1 + +######################################################################## +# Local console output configuration # +######################################################################## + +# Print DLT messages; payload as ASCII +# PrintASCII = 1 + +# Print DLT messages; payload as hex +# PrintHex = 1 + +# Print DLT messages; only headers +# PrintHeadersOnly = 1 + + +######################################################################## +# Client Serial port configuration # +######################################################################## + +# Additional support for serial device +# If a device name is set serial port is enabled. +# RS232DeviceName = /dev/ttyS0 + +# Serial device baudrate (Default: 115200) +# RS232Baudrate = 115200 + +# Sync to serial header on serial connection +# RS232SyncSerialHeader = 1 + +######################################################################## +# TCP Serial port configuration # +######################################################################## + +# Sync to serial header on all TCP connections +# TCPSyncSerialHeader = 1 + +######################################################################## +# ECU Software version info # +######################################################################## + +# Send periodic get ecu version info (Default: 0) +# SendECUSoftwareVersion = 0 + +# Absolute path to file storing version info - otherwise DLT version is used +# PathToECUSoftwareVersion = <absolute-path-to-file> + +######################################################################## +# Timezone info # +######################################################################## + +# Send periodic timezone info (Default: 0) +# SendTimezone = 0 + +############################################################################## +# Offline logstorage # +############################################################################## +# Store DLT log messages, if not set offline logstorage is off (Default: off) +# Maximum devices to be used as offline logstorage devices +OfflineLogstorageMaxDevices = 1 + +# Path to store DLT offline log storage messages (Default: off) +OfflineLogstorageDirPath = /var/nvlog/dlt + +# File options +# Appends timestamp in log file name, Disable by setting to 0 (Default: 1) +OfflineLogstorageTimestamp = 1 + +# Appends delimiter in log file name, allowed punctutations only (Default: _) +OfflineLogstorageDelimiter = _ + +# Wrap around value for log file count in file name (Default: UINT_MAX) +OfflineLogstorageMaxCounter = 999 + +# Maximal used memory for Logstorage Cache in KB (Default: 30000 KB) +OfflineLogstorageCacheSize = 4096 + +############################################################################## +# UDP Multicast Configuration # +############################################################################## +# Enable UDP connection support for daemon(Control Message/Multicast is enabled) +# UDPConnectionSetup = 1 + +# UDP multicast address(default:225.0.0.37) +# UDPMulticastIPAddress = 225.0.0.37 + +# UDP multicast port(default:3491) +# UDPMulticastIPPort = 3491 + +############################################################################## +# BindAddress Limitation # +############################################################################## +# Accept connections only on this list of IP addresses (Default: "0.0.0.0" INADDR_ANY) +# The IP addresses must be separated with ',' or ';' but not with space character ' ' +# If DLT_USE_IPv6 flag is ON, then only IPv6 addresses are accepted +# If DLT_USE_IPv6 flag is OFF, then only IPv4 addresses are accepted +# BindAddress = 160.48.199.97;160.48.199.98 diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf new file mode 100644 index 00000000..fa8dac84 --- /dev/null +++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon/dlt_logstorage.conf @@ -0,0 +1,9 @@ +[FILTER1] +LogAppName=.* +ContextName=.* +LogLevel=DLT_LOG_INFO +File=dltlog +FileSize=2000000 +NOFiles=10 +EcuID=ECU1 + diff --git a/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend new file mode 100644 index 00000000..75402fc6 --- /dev/null +++ b/meta-agl-ic-container/recipes-extended/dlt-daemon/dlt-daemon_%.bbappend @@ -0,0 +1,72 @@ +# DLT for Linux container integration +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" + +SRC_URI:append = " \ + file://0001-Disable-noisy-log-from-dlt-daemon.patch \ + file://dlt.conf \ + file://dlt-system.conf \ + file://dlt_logstorage.conf \ +" + +# Mandatory require to systemd feature +inherit features_check +REQUIRED_DISTRO_FEATURES = "systemd" + +PACKAGECONFIG = "systemd systemd-watchdog systemd-journal dlt-system unixsocket" + +# General Options +PACKAGECONFIG[unixsocket] = "-DDLT_IPC=UNIX_SOCKET -DDLT_USER_IPC_PATH=${DLT_COMMON_IPC_PATH},-DDLT_IPC=FIFO" + +# Common DLT log transfer path between host and guest +DLT_COMMON_IPC_PATH = "/run/dlt/" + +# Breakdown each package from all in one +PACKAGE_BEFORE_PN:append = "libdlt ${PN}-command ${PN}-system ${PN}-gateway ${PN}-dbus ${PN}-example" + +SYSTEMD_PACKAGES:append = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', '${PN}-system', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', ' ${PN}-dbus', '', d)} \ +" +SYSTEMD_SERVICE:${PN}-system = "dlt-system.service" +SYSTEMD_AUTO_ENABLE:${PN}-system = "enable" +SYSTEMD_SERVICE:${PN}-dbus = "dlt-dbus.service" +SYSTEMD_AUTO_ENABLE:${PN}-dbus = "enable" +SYSTEMD_SERVICE:${PN} = "dlt.service" + +do_install:append() { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/dlt.conf ${D}${sysconfdir}/ + install -m 0644 ${WORKDIR}/dlt-system.conf ${D}${sysconfdir}/ + + install -d ${D}/var/nvlog/dlt + install -m 0644 ${WORKDIR}/dlt_logstorage.conf ${D}/var/nvlog/dlt +} + +FILES:libdlt = "${libdir}/libdlt${SOLIBS}" +FILES:${PN}-command = " \ + ${bindir}/dlt-receive \ + ${bindir}/dlt-control \ + ${bindir}/dlt-convert \ + ${bindir}/dlt-logstorage-ctrl \ + ${bindir}/dlt-sortbytimestamp \ + ${bindir}/dlt-adaptor-stdin \ +" +FILES:${PN}-system = " \ + ${bindir}/dlt-system \ + ${sysconfdir}/dlt-system.conf \ + ${systemd_system_unitdir}/dlt-system.service \ +" +FILES:${PN}-gateway = " \ + ${bindir}/dlt-passive-node-ctrl \ + ${sysconfdir}/dlt_gateway.conf \ +" +FILES:${PN}-dbus = " \ + ${bindir}/dlt-dbus \ + ${sysconfdir}/dlt-dbus.conf \ +" +FILES:${PN}-example = " \ + ${bindir}/dlt-example* \ +" +FILES:${PN}:append = " \ + /var/nvlog/dlt/dlt_logstorage.conf \ +" |