云数据库 GAUSSDB-记录日志的内容:log_line_prefix

时间:2024-11-02 18:47:14

log_line_prefix

参数说明:控制每条日志信息的前缀格式。日志前缀类似于printf风格的字符串,在日志的每行开头输出。用以%为开头的“转义字符”代替表1中的状态信息。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

表1 转义字符表

转义字符

效果

%a

应用程序名称。

%u

用户名。

%d

数据库名。

%r

远端主机名或者IP地址以及远端端口,在不启动log_hostname时显示IP地址及远端端口。

%h

远端主机名或者IP地址,在不启动log_hostname时只显示IP地址。

%p

线程ID。

%t

时间戳(没有毫秒,Windows上没有时区)。

%m

带毫秒的时间戳。

%n

表示指定错误从哪个节点上报的。

%i

命令标签:会话当前执行的命令类型。

%e

SQLSTATE错误码。

%c

会话ID,详见说明。

%l

每个会话的日志编号,从1开始。

%s

会话启动时间。

%v

虚拟事务ID(backendID/ localXID)

%x

事务ID(0表示没有分配事务ID)。

%q

不产生任何输出。如果当前线程是后端线程,忽略这个转义序列,继续处理后面的转义序列;如果当前线程不是后端线程,忽略这个转义序列和它后面的所有转义序列。

%S

会话ID。

%T

TraceID。

%%

字符%。

转义字符%c打印一个唯一的会话ID,由两个4字节的十六进制数组成,通过字符“.”分开。这两个十六进制数分别表示进程的启动时间及进程编号,所以%c也可以看作是保存打印这些名目的途径的空间。比如,从pg_stat_activity中产生会话ID,可以用下面的查询:
1
2
3
SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' ||
       to_hex(pid)
FROM pg_stat_activity;
  • 当log_line_prefix设置为非空值时,请保证最后一个字符是一个空格,以此来直观地与后续的日志行进行区分,也可以使用一个标点符号。
  • Syslog生成自己的时间戳及进程ID信息,所以当登录日志时,不需要包含这些转义字符。

取值范围:字符串

默认值:'%m %n %u %d %h %p %S %x %a '

%m %n %u %d %h %p %S %x %a 表示会话开始时间戳、错误上报节点、用户名、数据库名、远程主机名或IP、线程ID、会话ID、事务ID、应用名。

support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-1540.html