Skip to content

管理日志

在 Web 页面一键下载所有日志文件的功能,如下图所示。

download_log

文件夹结构

下载日志的功能将把 /neuron/build/logs 的文件夹打包成 neuron_logs.tar.gz 文件并下载。文件包含所有已创建的驱动及 Neuron 的日志文件,文件目录级别示例,如下图所示。

neuron_logs
  • data-stream-processing.log:数据处理配置
  • dlt645.log:北向应用配置
  • modbus-plus-tcp.log:南向设备配置
  • neuron.log:Neuron 日志

节点 DEBUG 日志

Neuron 支持设置打印某个节点的 debug 级别日志,并在大致十分钟后自动切回默认的日志等级。每个节点之间的设置相互独立。

每个节点的 更多 操作按键中都有一个 DEBUG 日志 的操作按键,如下图所示。

debug_log

点击此按键后,页面将跳出如下图所示的提示。

debug_log_tip

此时,该节点开始打印 debug 日志,用户可选择在十分钟后下载日志,查看对应节点的日志,也可以选择在 /build/logs 下实时查看节点打印的日志。

TIP

打印节点 debug 日志的同时 neuron 日志也会打印,并在十分钟后自动切回默认的日志等级。

日志配置文件

Neuron 日志配置文件 zlog.conf 的格式如下所示:

bash
[global]

file perms = 666

[formats]

simple = "%d [%V] %f:%L %m%n"

[rules]

*.*     "./logs/%c.log", 50MB * 1 ~ "./logs/%c.#2s.log"; simple

配置文件分为三个部分:[global],[formats],[rules]。

全局参数 Global

file perms:指定创建文件的缺省访问权限:

  • 600,只有拥有者有读写权限;
  • 644,只有拥有者有读写权限;而属组用户和其他用户只有读权限;
  • 700,只有拥有者有读、写、执行权限;
  • 755,拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限;
  • 711,拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限;
  • 666,所有用户都有文件读、写权限;
  • 777,所有用户都有读、写、执行权限。

格式 Formats

转换格式串:转换格式串类似 C 的 printf 函数。可以自定义日志的格式,方法如下:format_name 为格式的名字,your format 替换为自定义的格式,格式要位于引号之内。

bash
format_name = "your format"
  • %d,打印日志时间;
  • %V,日志级别,大写;
  • %f,源代码文件名;
  • %L,源代码行数;
  • %m,用户日志,用户从 zlog 函数输入的日志;
  • %n,换行符。

规则 Rules

规则描述了日志是怎么被过滤、格式化以及被输出的。 语法:

(category).(level) (output),(options, optional); (format name, optional)

category

分类等级。

总结配置文件规则分类匹配的代码分类不匹配的代码分类
*匹配所有*.*aa,aa_bb,aa_cc,yy ...NONE
以_结尾的分类匹配本级及下级分类aa_.*aa, aa_bb, aa_cc, aa_bb_ccxx, yy
不以_结尾的精确匹配分类名aa.*aaaa_bb, aa_cc, aa_bb_cc
!匹配没有找到规则的分类!.*xxaa

level

zlog 有六个默认的等级:“DEBUG”,“INFO”,“NOTICE”,“WARN”,“ERROR”,“FATAL”。例如,*.DEBUG 任何大于等于 DEBUG 级别的日志都会被输出。

表达式含义
*.*所有等级
*.debug代码内等级 >= debug
*.=debug代码内等级 == debug
*.!debug代码内等级 != debug

(output),(options, optional);

[输出],[附加选项,可选];

动作输出字段附加选项
标准输出>stdout无意义
标准错误输出>stderr无意义
输出到syslog>syslogsyslog设施(facilitiy):LOG_USER(default),LOG_LOCAL[0-7] 必填
管道输出|cat无意义
文件"文件路径"文件转档,10M * 3 ~ "press.#r.log"。例如,"./logs/%c.log", 50MB * 1 ~ "./logs/%c.#2s.log" 表示每到 50M 转档,#2s 的意思是序号的长度最少为 2 位,从 00 开始编号。
同步IO文件-"文件路径"
用户自定义输出$name"path" 动态或者静态的用于record输出

例如将日志只输出到 syslog

bash
[global]

file perms = 666

[formats]

simple = "%d [%V] %f:%L %m%n"

[rules]

*.*    	>syslog, LOG_LOCAL0; simple

(format name, optional)

[格式名,可选]

开发调试配置文件

Neuron 还提供了 开发调试配置文件 dev.conf,打印日志同时将日志输出到终端,启动 neuron 时添加 --log 参数则调用 dev.conf