云数据库 GAUSSDB-记录日志的内容:log_line_prefix
log_line_prefix
参数说明:控制每条日志信息的前缀格式。日志前缀类似于printf风格的字符串,在日志的每行开头输出。用以%为开头的“转义字符”表示状态信息,具体请参见表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 |
Trace 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、应用程序名称。
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:根据对日志状态信息的需求进行设置。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。