金仓数据库KingbaseES 日志级别
关键字:
KingbaseES 日志、sys_log、人大金仓
如何使用kingbase ES日志?
在日常使用中,当我们需要捕获语法错误原因、审核特定时间的详细信息、或者日常运维监控某些指标时,就需要用到Kingbase日志。
如果我们要使用Kingbase日志,在安装数据库后,可以通过修改kingbase.conf文件来修改日志的开关以及写日志的路径。
实例化data后,进入data下的kingbase.conf文件
如果想要开启日志记录,将以下参数设置为on:
logging_collector = on
log_directory是日志的存储路径,默认是data下的sys_log文件。
log_filename是日志文件名的格式,默认为kingbase-%Y-%m-%d_%H%M%S.log,其中,时间为本次数据库服务启动的时间。如果需要修改格式,去掉前面的注释并进行修改即可。
修改参数后,重启数据库服务,即可在data下的sys_log文件中查看到所有的日志。
Kingbase ES 日志级别分类
Kingbase日志分级如下(从高到低,级别越高,所展现的信息越少):
PANIC | 表示紧急情况,通常表示系统出现了无法处理的严重问题,需要立即采取行动 | |
FATAL | 表示严重错误,通常表示程序无法继续执行,可能会导致崩溃或无法恢复的状态 | |
LOG | 这是一个通用的日志级别,用于标识普通的日志消息 | |
ERROR | 表示错误级别,表明发生了某种错误,可能影响系统的某种功能 | |
WARNING | 指潜在问题,但系统仍然可以继续运行 | |
NOTICE | 提供通知级别的信息,表达正常但重要的情况,需要引起注意 | |
INFO | 提供一般的信息,用于确认系统正常运行的消息 | |
DEBUG | DEBUG1 | 这是最低级别的调试信息,通常用于记录应用程序的基本状态,主要操作等,以帮助了解应用程序的整体行为 |
DEBUG2 | 这个级别的日志用于记录比较严重的调试信息,可能包括应用程序的主要流程和关键决策 | |
DEBUG3 | 更加详细,可能记录了函数调用,关键更改等信息 | |
DEBUG4 | 非常详细,记录了稍微精简的调试信息,但不像DEBUG5那样过于详细 | |
DEBUG5 | 这是最详细的日志级别,通常用于记录非常详细的调试信息,可能包括函数调用,变量值等各种细节。这个级别的日志信息对于一般的应用运行并不是必要的,只有在进行详细的故障排除时才会使用。 |
日志级别的切换方式
上一部分介绍了kingbase的日志级别,这部分介绍一下级别的切换方式。
数据库日志级别表示展示日志信息的多少,假设设置的日志级别为warning,那么ERROR、LOG、FATAL、PANIC以及warning级别本身的日志都会被展示,而设置级别为DEBUG5,即可展示在数据库运行中的全部日志信息。
数据库默认的日志级别是warning,由kingbase.conf中的log_min_messages字段来决定,如果需要修改整个数据库系统的日志级别,将log_min_messages字段前的注释去掉,修改并重启数据库即可。
同时,通过查询系统表sys_settings可得知log_min_messages的级别为superuser,此类参数可以由超级用户使用set来改变。而超级用户改变参数值时,只会影响自身的连接配置,不会影响其他用户。向KingBase进程发送SIGHUP信号,也只会影响后续建立的连接,不会影响现在的连接。
想要快速查询当前日志级别,可以通过show log_min_messages语句来实现。