我在 RHEL 中运行 mariadb 10.3.39,并在 my.cnf.d/mariadb-server.cnf 中进行以下配置
[玛丽亚数据库] log_error=/var/log/mariadb/mariadb.log
在文件中显示错误日志时,我发现一个问题,如果时间戳小于 10,则会在其后面附加一个空格,而不是 0。这会导致发送到 ELK 时解析日志时出现问题。这是一个已知问题,有什么方法可以使其标准化吗?
2024-09-26 4:10:08 0 [Note] Server socket created on IP: '0.0.0.0'.
2024-09-26 4:10:08 0 [Note] Reading of all Master_info entries succeeded
2024-09-26 4:10:08 0 [Note] Added new Master_info '' to hash table
下面是日期格式的变量设置,
MariaDB [(none)]> show variables like '%date%';
+-----------------------------------------+-------------------+
| Variable_name | Value |
+-----------------------------------------+-------------------+
| binlog_direct_non_transactional_updates | OFF |
| date_format | %Y-%m-%d |
| datetime_format | %Y-%m-%d %H:%i:%s |
| log_slave_updates | OFF |
| low_priority_updates | OFF |
| query_cache_wlock_invalidate | OFF |
| sql_safe_updates | OFF |
+-----------------------------------------+-------------------+
7 rows in set (0.001 sec)
您无法修改错误日志中的格式,因为它是在函数 print_buffer_to_file():
中硬编码的fprintf_stderr( "%d-%02d-%02d %2d:%02d:%02d %lu [%s] %.*s%.*s\n",
...