3.16 日志和调试

所有 DOMjudge 守护进程和 web 界面脚本都支持通过 lib.error.* 中的函数以统一的方式进行日志记录和调试; 有三种记录信息的方式:

  • 记录到 stderr, 用于守护进程或用于 web 界面的前端脚本(后者仅在严重问题上)

  • 由变量 LOGFILE 设置的日志文件, 该变量在每个程序中设置; 取消设置此变量会禁用此方法

  • 记录到 syslog, 这可以通过 etc/common-config.php 中的 SYSLOG 变量进行配置; 这份选项给予了 syslog 很大的灵活性, 例如远程日志; 详情参阅 syslog(daemon) 的文档; 取消设置此变量会禁用此方法

每个脚本还定义了要记录到 stderr 的消息的默认阈值级别 (VERBOSE: 守护进程中默认为 LOG_INFO, web 界面中默认为 LOG_ERR) 和 日志文件/syslog (LOGLEVEL: 默认为 LOG_DEBUG)

如果出现问题, 建议查看日志以获取线索; 通过将设置 etc/common-config.php 文件中配置选项 DEBUG 按位或可用的 DEBUG_* 标志, 可获取额外的调试信息; 例如, 在 web 界面中生成额外的 SQL 查询和计时信息

Last updated