织梦日志文件在哪里存放

掌握织梦日志文件位置是排查问题、审计安全的关键前提。本文梳理各类日志的存放路径与作用。

一、织梦原生日志目录

织梦自带日志写入函数 PutLog()WriteToErrorLog(),统一输出到 /data/ 目录下的子文件夹。

二、日志路径一览表

系统日志
/data/log/yyyymmdd.txt
操作日志
/data/operate_log/
SQL慢日志
/data/mysql_slow.log
上传日志
/data/upload_log.txt
登录日志
/data/login_log.php
缓存日志
/data/cache/

三、日志配置方法

3.1 开启系统日志

// /data/common.inc.php
$cfg_log_open=1;          // 开启系统日志
$cfg_log_path='/data/log/';
$cfg_log_keep=30;         // 保留30天

3.2 开启操作日志

后台 → 系统 → 系统基本参数 → 核心设置 → 勾选"记录后台操作日志",开启后所有管理员动作会写入 dede_operation_log 表与文件。

四、PHP 与 Web 服务器日志

除了织梦自带日志,还需关注 PHP 与 Nginx/Apache 层日志,它们对定位 500 错误至关重要。

PHP错误日志
/var/log/php_errors.log 或 宝塔 → PHP → 慢日志
Nginx访问
/www/wwwlogs/域名.log
Nginx错误
/www/wwwlogs/域名.error.log
建议:宝塔面板"网站 → 日志"可一键查看,无需 SSH 登录。

五、常见问题原因分析

5.1 日志文件为空

原因/data/log/ 目录无写入权限,或 $cfg_log_open 未开启。

解决:chmod 755 并 chown www:www。

5.2 日志文件越来越大

原因:未设置日志轮转,长期累积导致磁盘占满。

注意:日志目录被占满会导致站点无法写入缓存,出现 500 错误,需立即清理。

六、日志管理与安全

建议为 /data/log/ 目录配置 logrotate,按天分割并保留 30 天。同时在 Nginx 中禁止访问 /data/ 目录:

location ~* /data/.*\.(log|txt|php)$ {
  deny all;
  return 403;
}

避免日志被外部直接下载,泄露后台路径与用户信息。

七、行动指引

掌握日志位置后,建议建立每日巡检机制:通过宝塔计划任务定时归档日志、用脚本提取错误关键字并邮件告警。同时将日志接入 ELK 或 Loki 平台集中分析,从日志数据中挖掘性能瓶颈与安全线索,让运维真正数据驱动。