当前位置:网站首页>Diagnostic Log and Trace——为应用程序和上下文设置日志级别的方法
Diagnostic Log and Trace——为应用程序和上下文设置日志级别的方法
2022-08-11 05:24:00 【andylauren】
上一篇最后说道默认打印级别是info,这一篇我们就来讲解如何修改这个打印级别。
dlt-daemon 设置初始应用程序日志级别
有一个配置参数(参见 /etc/dlt.conf)ContextLogLevel。当新应用程序在守护程序中注册自己时,守护程序会将应用程序的日志级别设置为参数定义的值。
当应用程序使用 DLT_REGISTER_CONTEXT() 或 dlt_register_context() 注册自己时会发生这种情况。
环境变量 DLT_INITIAL_LOG_LEVEL
有一个名为 DLT_INITIAL_LOG_LEVEL 的环境变量。它允许设置每个应用程序上下文的日志级别。有关更多详细信息,请参阅初始日志级别。
应用程序在具有自定义日志级别的守护进程中注册自己。
当应用程序使用 DLT_REGISTER_CONTEXT_LL_TS() 或 dlt_register_context_ll_ts() 注册自己时会定义自己的打印级别。
客户端(例如 dlt_viewer)在运行时更改特定应用程序上下文的日志级别。
上下文的初始日志级别由上述几种方法之一设置。
DLT 库运行时配置
通过设置不同的环境变量,可以在运行时配置 DLT 库——全局或针对特定进程。下面描述了这些环境变量:
初始日志级别
DLT 用户库的默认日志级别为 DLT_LOG_INFO(使用宏 DLT_REGISTER_CONTEXT 或 dlt_register_context() api 时)。这可以使用 DLT 客户端应用程序(例如 DLT Viewer)进行更改。但在 DLT 守护程序更新用户库之前,可能存在需要 DEBUG 或 VERBOSE 消息的情况。
在 DLT 库启动阶段有多种方法可以初始化日志级别。
可以通过导出环境变量 DLT_INITIAL_LOG_LEVEL 来做到这一点。通过这种方式,用户可以为上下文指定日志级别。
例如,应用程序“EXA1”具有两个上下文“CON1”和“CON2”。对于“CON1”日志级别 DEBUG 和“CON2”日志级别 VERBOSE 应使用。必须导出以下内容以配置库:
export DLT_INITIAL_LOG_LEVEL="EXA1:CON1:5;EXA1:CON2:6"
如果所有应用程序和上下文的日志级别都应该被初始化,那么:
导出 DLT_INITIAL_LOG_LEVEL="::2"
如果应初始化应用程序“EXA1”的所有上下文的日志级别,则:
导出 DLT_INITIAL_LOG_LEVEL="EXA1::2"
如果应初始化上下文“CON1”的日志级别,则:
导出 DLT_INITIAL_LOG_LEVEL=":CON1:2"
如果仅初始化应用程序“EXA1”的上下文“CON1”的日志级别,而忽略其他上下文,则:
导出 DLT_INITIAL_LOG_LEVEL="::0;EXA1:CON1:2"
如果环境中未导出 DLT_INITIAL_LOG_LEVEL 变量,则可以在配置文件 (/etc/dlt.conf) 中更改每个上下文的日志级别。
默认日志级别为 4 (DLT_LOG_INFO)
ContextLogLevel = 4
DLT 用户可以使用 dlt_register_context_ll_ts() api 来初始化每个上下文的日志级别。
例子:
//向守护进程注册新的上下文,初始日志级别为DLT_LOG_VERBOSE
dlt_register_context_ll_ts(&con_exa1, "CON", " First context ", DLT_LOG_VERBOSE, DLT_TRACE_STATUS_OFF);
上下文日志级别的优先级如下:
优先级 1:使用 dlt_register_context_ll_ts() api
优先级 2:使用环境变量 DLT_INITIAL_LOG_LEVEL
优先级 3:在配置文件 dlt.conf 中设置
本地打印模式
有时将用于调试的 DLT 消息直接打印到控制台可能很有用。要强制库这样做,可以导出以下环境变量:
导出 DLT_LOCAL_PRINT_MODE=FORCE_ON
库缓冲区大小
DLT 库包含一个消息缓冲区,以防 DLT 守护程序尚未启动或与 DLT 守护程序的连接暂时丢失。在库初始化时以最小大小分配缓冲区。如果需要存储更多消息,缓冲区会以定义的步长增长到最大大小。如果消息被刷新到 DLT 守护程序,缓冲区将减少到其最小大小。默认值和设置这些值的环境变量名称如下所述:
默认值 [以字节为单位] 环境变量名称
最小大小 50000 DLT_USER_BUFFER_MIN
最大大小 500000 DLT_USER_BUFFER_MAX
步长 50000 DLT_USER_BUFFER_STEP
例如,要将最大缓冲区大小限制为 250k 字节,可以导出以下内容:
导出 DLT_USER_BUFFER_MAX=250000
边栏推荐
- 秦始皇到底叫嬴政还是赵政?
- Safety helmet recognition - construction safety "regulator"
- 【转载】图表:数读2022年上半年国民经济
- CVPR2020: Seeing Through Fog Without Seeing Fog
- win10 配置tensorflow(GPU) anaconda3 cuda9.0 cudnn for 9.0
- CVPR2022——A VERSATILE MULTI-VIEW FRAMEWORK
- Mei cole studios - sixth DjangoWeb application framework + MySQL database training
- LiDAR Snowfall Simulation for Robust 3D Object Detection
- Waymo dataset usage introduction (waymo-open-dataset)
- 对MySQL查询语句的分析
猜你喜欢
2021-05-10
>>开发工具:IDEA格式化代码无效
弱监督语义分割CLIMS(CVPR2022)
Mei cole studios - sixth DjangoWeb application framework + MySQL database training
The latest safety helmet wearing recognition system in 2022
CVPR2022——Not All Points Are Equal : IA-SSD
梅科尔工作室-Pr第一次培训笔记(安装及项目创建)
【OAuth2】授权机制
Maykle Studio - HarmonyOS Application Development First Training
360° large field of view helmet recognition system-deep learning intelligent video analysis
随机推荐
Severe Weather 3D Object Detection Dataset Collection
梅科尔工作室-第四次PR培训笔记(字幕和标题动画,关键帧动画和声音处理)
Mei cole studios - deep learning second BP neural network
CVPR2022——Not All Points Are Equal : IA-SSD
我心仪的数据集—目标检测为主
Maykle Studio - HarmonyOS Application Development First Training
CMT2380F32模块开发5-CLK例程
Fragment 和 CardView
HTTP缓存机制详解
TAMNet:A loss-balanced multi-task model for simultaneous detection and segmentation
安全帽识别
yolov3+centerloss+replay buffer实现单人物跟踪
LAGRANGIAN FLUID SIMULATION WITH CONTINUOUS CONVOLUTIONS
通用的 kernel和 userspace Makefile
Node-1.高性能服务器
用正则验证文件名是否合法
Maykel Studio - Django Web Application Framework + MySQL Database Second Training
mAPH——Waymo数据集
梅科尔工作室-HarmonyOS应用开发第四次培训
Introduction of safety helmet wearing recognition system