16.1.?ux_log

ux_log是数据库活动日志。在$UXDATA/uxsinodb.conf中可以对日志进行相应的修改。下面介绍常用的日志配置。

logging_collector = on/off?——是否将日志重定向至文件中,默认是on,DB启动过程中会将日志重定向$UXDATA/ux_log中。该配置修改后,需要重启DB服务。

log_directory = 'ux_log'——日志文件目录,默认是UXDATA的相对路径,即$UXDATA/ux_log,也可以修改为绝对路径。例如将此配置修改为/var/log/ux_log下,必须先创建此目录,并修改权限。

log_filename = 'UXDB-%Y-%m-%d_%H%M%S.log'?——日志文件命名形式,使用默认即可。

log_rotation_age = 1d?——单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件。

log_rotation_size = 10MB?——单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。

log_truncate_on_rotation = off?——当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。

log_lock_waits = off——控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。

log_statement = 'none'?# none, ddl, mod, all——控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。

log_duration = off?——记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。

log_min_duration_statement = -1?# -1 is disabled, 0 logs all statements?and their durations, > 0 logs only?statements running at least this number?of milliseconds -1表示不可用,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超过(或等于)这个值(ms)的SQL语句。个人更喜欢使用该配置来跟踪那些耗时较长,可能存在性能问题的SQL语句。虽然使用log_statement和log_duration也能够统计SQL语句及耗时,但是SQL语句和耗时统计结果可能相差很多行,或在不同的文件中,但是log_min_duration_statement会将SQL语句和耗时在同一行记录,更方便阅读。

log_connections = off——是否记录连接日志。

log_disconnections = off?——是否记录连接断开日志。

log_line_prefix = '%m %p %u %d %r '?——日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)。

log_timezone = 'Asia/Shanghai'?——日志时区,最好和服务器设置同一个时区,方便问题定位。

XML 地图 | Sitemap 地图