日志配置
日志文件目前有三种配置方式,分别为配置新环境变量、配置旧环境变量和配置文件,优先级从高到底。配置旧环境变量和配置文件方式将在后续不再提供,建议使用配置新环境变量进行日志配置。新环境变量的日志配置详情请参见《MindIE日志参考》。
- 配置新环境变量:
mindie组件名称取值(省略mindie前缀) [cert, benchmark, client, ms, server, llm, sd, rt, torch]。
环境变量
默认配置
取值范围及解释
MINDIE_LOG_LEVEL
INFO
统一设置MindIE各组件日志级别。优先级高于MINDIEMS_LOG_LEVEL环境变量,如果设置环境变量,将覆盖json配置文件中log_level参数。
日志级别取值 [CRITICAL, ERROR, WARN, INFO, DEBUG]。
MINDIE_LOG_TO_FILE
true
统一设置MindIE各组件日志是否写入文件。如果设置环境变量,将覆盖json配置文件中to_file参数。
取值范围为:[false, true],且支持[0, 1]。
MINDIE_LOG_TO_STDOUT
false
统一设置MindIE各组件日志是否打屏。如果设置环境变量,将覆盖json配置文件中to_stdout参数。
取值范围为:[false, true],且支持[0, 1]。
MINDIE_LOG_VERBOSE
true
统一设置MindIE各组件日志中是否加入可选日志内容,当前日志分为固定日志内容和可选日志内容。
完整调试日志格式:[date time] [pid] [tid] [组件名称] [大写日志级别] [file:line] : [error code] [*] log message;非加粗内容为可选内容,当环境变量设置为true时会加入可选内容。
取值范围为:[false, true],且支持[0, 1]。
说明:日志格式中的[*]表示子组件或更小单位模块的名称,可以选择将其呈现在日志中,方便更好的定位问题。
MINDIE_LOG_PATH
~/mindie/log
统一设置MindIE各组件日志写入文件的保存目录。
若用户设置该环境变量,需要在该环境变量设置的路径后方新建log/。则调试日志记录在$MINDIE_LOG_PATH/log/debug路径下,安全日志默认记录在 $MINDIE_LOG_PATH/log/security路径下。
- 若路径开头为"/",则表明该路径为绝对路径;
- 若路径开头无"/",则表明该路径为相对路径,且是相对于“~/mindie/log”的路径;
- 如果设置环境变量,将覆盖json配置文件中run_log_path和operation_log_path参数。
MINDIE_LOG_ROTATE
- -fs:默认值为20 (MB)
- -r:默认值为10
统一设置MindIE各组件日志轮转。
设置某个组件的日志轮转格式为: 组件名称 : -fs filesize -r rotate
- 如果“:”前无组件名称,则默认为对所有组件统一进行设置;
- filesize表示每个日志文件大小(单位MB),取值范围 [1, 500]。如果设置环境变量,将覆盖json配置文件中max_log_file_size参数;
- rotate表示每个进程可写的最多日志文件个数, 取值范围 [1, 64]。 如果设置环境变量,将覆盖json配置文件中max_log_file_num参数。
示例1:统一将MindIE所有组件的日志级别设成debug,将MindIE MS组件的日志级别设置为info (用户输入的值不区分大小写) export MINDIE_LOG_LEVEL=debug; ms:INfo 示例2:将MindIE LLM的日志级别设成error (用户输入的值不区分大小写) export MINDIE_LOG_LEVEL=llm:error 注意若输入日志级别为null,则不启用日志功能。 示例3:统一将MindIE所有组件的日志打屏(用户输入的值不区分大小写) export MINDIE_LOG_TO_STDOUT=1 示例4:统一将MindIE所有组件的日志写入文件 (用户输入的值不区分大小写) export MINDIE_LOG_TO_FILE=true 示例5:统一不打屏或不保存MindIE所有组件的可选日志 (用户输入的值不区分大小写) export MINDIE_LOG_VERBOSE=false 示例6:打屏或保存MindIE MS的可选日志(用户输入的值不区分大小写) export MINDIE_LOG_VERBOSE=ms:true” 示例7:设置MindIE MS组件日志写入文件的保存目录为/home/dev export MINDIE_LOG_TO_FILE=ms:/home/dev 示例8:设置MindIE MS的轮转:每个文件大小上限为10MB, 每个进程文件数上限为20 export MINDIE_LOG_ROTATE=ms:-fs 10 -r 20
同一条日志配置命令中,后方配置覆盖前方。相当于将日志配置使用分号”;”分割,逐条导入。
- 例1:export MINDIE_LOG_LEVEL=“llm: info; llm: warn”,其等价于export MINDIE_LOG_LEVEL=“llm: info”; export MINDIE_LOG_LEVEL=“llm: warn”,将llm的日志级别设置为warn,后一个配置覆盖前一项配置。
- 例2:export MINDIE_LOG_LEVEL=“llm: info; warn”,其等价于export MINDIE_LOG_LEVEL=“llm: info”; export MINDIE_LOG_LEVEL=“warn”则表示llm的日志级别为warn,因为后面一项warn未指定特定组件,则对所有组件生效,覆盖对llm的设置。
- 配置旧环境变量:(该环境变量将在2025年6月后失效, 建议优先使用MINDIE_LOG_LEVEL配置日志级别)
环境变量
取值范围及解释
MINDIEMS_LOG_LEVEL
说明:当前保留MINDIEMS_LOG_LEVEL是为了兼容旧版本配置方式。
若MINDIE_LOG_LEVEL设置为空则使用MINDIEMS_LOG_LEVEL。
用户可动态设置MindIE MS客户端输出的日志等级。
默认值为空,环境变量的优先级高于json配置文件中log_level参数。日志级别如下所示:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
MindIE MS客户端可通过MINDIEMS_LOG_LEVEL环境变量动态设置日志打印等级,如下所示:示例:export MINDIEMS_LOG_LEVEL={日志打印等级}
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
- 配置文件:
- 客户端日志会根据{$HOME}/.mindie_ms/msxxx.json配置的日志等级log_level参数进行过滤,将日志内容打印到客户端屏幕上。
- 服务端日志会根据服务端配置文件ms_xxx.json中的以下代码进行设置。
"log_info": { "log_level": "INFO", // 日志级别 "run_log_path": "/var/log/mindie-ms/run/log.txt", // 运行日志写入的文件路径 "operation_log_path": "/var/log/mindie-ms/operation/log.txt" //操作日志写入的文件路径 "max_log_file_size": 20, // 最大日志文件大小 "max_log_file_num": 10 //最大日志文件数量 }