mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
fix(nginx-log): service 文件加 Service 后缀(命名规范合规)
F2 Code quality review 发现:3 个新增 service 未遵守 .agents/rules/ulthon-naming-convention.md 第 19 行规定 (service 模块文件名需带 Service 后缀)。 变更: - 重命名 6 个文件(3 Base + 3 App): NginxLogParser(Base)→NginxLogParserService(Base) NginxLogReader(Base)→NginxLogReaderService(Base) NginxLogAggregator(Base)→NginxLogAggregatorService(Base) - 同步类名、use、类型 hint、new 引用 - NginxLogReaderServiceBase 异常消息前缀同步加 Service - controller Base 引用更新(NginxLogImportBase / NginxLogStatAggregateBase) 验证: - php -l 全部 8 个文件语法通过 - grep 残留旧名 = 0 结果(24 处引用全部带 Service 后缀)
This commit is contained in:
@@ -19,7 +19,7 @@ use think\facade\Db;
|
||||
* - 依赖倒置:内部 use app 入口 model(NginxStatHour 等),不 use Base model
|
||||
* - 只读 raw 表(ul_nginx_access_log),不做 nginx log line 解析(那是 T5 Parser 的事)
|
||||
*/
|
||||
class NginxLogAggregatorBase
|
||||
class NginxLogAggregatorServiceBase
|
||||
{
|
||||
/**
|
||||
* 聚合指定日期的指定小时.
|
||||
@@ -13,9 +13,9 @@ use DateTime;
|
||||
* 示例行:
|
||||
* 192.168.32.1 - - [27/Jul/2026:16:20:15 +0000] "GET / HTTP/1.1" 499 0 "-" "Mozilla/5.0 (...)" 5.085 5.086 0
|
||||
*
|
||||
* 业务侧通过 app/common/service/NginxLogParser 覆盖本类方法.
|
||||
* 业务侧通过 app/common/service/NginxLogParserService 覆盖本类方法.
|
||||
*/
|
||||
class NginxLogParserBase
|
||||
class NginxLogParserServiceBase
|
||||
{
|
||||
/** 爬虫 UA 关键词(大小写不敏感匹配) */
|
||||
public const SPIDER_KEYWORDS = [
|
||||
@@ -17,7 +17,7 @@ use app\admin\model\NginxLogPosition;
|
||||
* 依赖倒置:内部 model 调用走 `app\admin\model\NginxLogPosition`(App 入口类),
|
||||
* 使用者可在 app/ 重写该 model 拦截行为;本类不直接 `new NginxLogPosition`(静态调用满足多态)。
|
||||
*/
|
||||
class NginxLogReaderBase
|
||||
class NginxLogReaderServiceBase
|
||||
{
|
||||
/** 单次 fread 的 buffer 大小(64KB) */
|
||||
protected const BUFFER_SIZE = 65536;
|
||||
@@ -49,7 +49,7 @@ class NginxLogReaderBase
|
||||
{
|
||||
$fp = @fopen($filePath, 'rb');
|
||||
if ($fp === false) {
|
||||
throw new \RuntimeException("NginxLogReader: 无法打开文件 {$filePath}");
|
||||
throw new \RuntimeException("NginxLogReaderService: 无法打开文件 {$filePath}");
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -57,7 +57,7 @@ class NginxLogReaderBase
|
||||
clearstatcache(true, $filePath);
|
||||
$stat = fstat($fp);
|
||||
if ($stat === false) {
|
||||
throw new \RuntimeException("NginxLogReader: fstat 失败 {$filePath}");
|
||||
throw new \RuntimeException("NginxLogReaderService: fstat 失败 {$filePath}");
|
||||
}
|
||||
$currentInode = (int) $stat['ino'];
|
||||
$currentSize = (int) $stat['size'];
|
||||
@@ -81,7 +81,7 @@ class NginxLogReaderBase
|
||||
|
||||
// 步骤 4:fseek 到 offset
|
||||
if ($offset > 0 && fseek($fp, $offset) !== 0) {
|
||||
throw new \RuntimeException("NginxLogReader: fseek 失败 offset={$offset} file={$filePath}");
|
||||
throw new \RuntimeException("NginxLogReaderService: fseek 失败 offset={$offset} file={$filePath}");
|
||||
}
|
||||
|
||||
$yielded = 0;
|
||||
@@ -95,7 +95,7 @@ class NginxLogReaderBase
|
||||
$chunk = fread($fp, self::BUFFER_SIZE);
|
||||
if ($chunk === false) {
|
||||
// 读错误:交上层处理,不保存进度(下次重读)
|
||||
throw new \RuntimeException("NginxLogReader: fread 失败 file={$filePath}");
|
||||
throw new \RuntimeException("NginxLogReaderService: fread 失败 file={$filePath}");
|
||||
}
|
||||
if ($chunk === '') {
|
||||
// EOF
|
||||
Reference in New Issue
Block a user