emanuele/querylog-sql 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

emanuele/querylog-sql

Composer 安装命令:

composer require emanuele/querylog-sql

包简介

Log non-SELECT SQL queries to rotating files with daily gzip.

README 文档

README

Package Laravel per loggare tutte le query non-SELECT in file di testo, con rotazione a 100MB e compressione giornaliera.

Installazione (locale)

Nel progetto host:

  1. Aggiungi il repository path e il require in composer.json:
{
  "repositories": [
    { "type": "path", "url": "packages/querylog-sql", "options": { "symlink": true } }
  ],
  "require": {
    "emanuele/querylog-sql": "^1.0"
  }
}
  1. Esegui composer update emanuele/querylog-sql.

Installazione (repository Git)

  1. Pubblica il pacchetto in un repo Git (privato o pubblico).
  2. Aggiungi il repository VCS e installa:
{
  "repositories": [
    { "type": "vcs", "url": "https://example.com/emanuele/querylog-sql.git" }
  ]
}
composer require emanuele/querylog-sql

Configurazione

Config pubblicabile:

php artisan vendor:publish --tag=querylog-config

Variabili supportate:

  • QUERYLOG_ENABLED (default: true)
  • QUERYLOG_PATH (default: storage/logs/querylog)
  • QUERYLOG_MAX_FILE_SIZE_MB (default: 100)
  • QUERYLOG_INCLUDE_BINDINGS (default: true)

Blocco .env di esempio:

QUERYLOG_ENABLED=true
QUERYLOG_PATH=storage/logs/querylog
QUERYLOG_MAX_FILE_SIZE_MB=100
QUERYLOG_INCLUDE_BINDINGS=true

Se le variabili non sono presenti in .env, il pacchetto usa automaticamente i valori di default indicati sopra.

Output

Ogni riga è nel formato:

/* YYYY-MM-DD HH:MM:SS */ SQL

I file sono in storage/logs/querylog/ e ruotano a 100MB:

querylog-YYYY-MM-DD-1.log
querylog-YYYY-MM-DD-2.log
...

Compressione giornaliera

Un job comprime i log del giorno precedente in .gz alle 23:59, e rimuove i file originali dopo la compressione.

Per schedulare il job nel progetto host, aggiungi a routes/console.php:

use Emanuele\QuerylogSql\Jobs\CompressDailyQueryLogs;
use Illuminate\Support\Facades\Schedule;

Schedule::job(new CompressDailyQueryLogs())
    ->dailyAt('23:59')
    ->withoutOverlapping(60);

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固