farmaciasdirect/sauron-connector
Composer 安装命令:
composer require farmaciasdirect/sauron-connector
包简介
Laravel SDK for Sauron logging API - process logs, user audit logs, and request logs
README 文档
README
Laravel SDK para integración con la API de Sauron — sistema centralizado de logging para procesos, auditoría de usuarios y trazabilidad de peticiones HTTP.
Requisitos
- PHP ^8.2
- Laravel 10, 11 o 12
Instalación
composer require farmaciasdirect/sauron-connector
El paquete se registra automáticamente mediante el autodiscovery de Laravel.
Publicar configuración
php artisan vendor:publish --tag=sauron-config
Variables de entorno
Añade las siguientes variables a tu .env:
SAURON_API_URL=https://sauron.example.com SAURON_API_TOKEN=your-api-token # Opcional: activa el logging para todos los procesos (no solo los críticos) SAURON_DEBUG=false
Funcionalidades
1. Process Logs — Seguimiento de procesos
Registra el ciclo de vida de un proceso (inicio, éxito o fallo) con trazas intermedias opcionales.
Uso directo con ProcessLogService
use FarmaciasDirect\Sauron\Services\ProcessLogService; // Iniciar proceso $uuid = ProcessLogService::start( code: 'shopify:sync-stock', name: 'Sincronización de stock con Shopify', critical: true, ); try { // ... lógica del proceso ... // Traza intermedia ProcessLogService::trace('Procesados 50 productos'); // Marcar como exitoso ProcessLogService::success(['items_processed' => 100]); } catch (Throwable $e) { // Marcar como fallido ProcessLogService::failed($e); }
Uso con el trait LogsToSauron en Jobs
El trait LogsToSauron simplifica el logging en Laravel Jobs mediante el método withSauronLogging:
use FarmaciasDirect\Sauron\Traits\LogsToSauron; class SyncStockJob implements ShouldQueue { use LogsToSauron; protected function sauronCode(): string { return 'shopify:sync-stock'; } protected function sauronName(): string { return 'Sincronización de stock con Shopify'; } protected function sauronCritical(): bool { return true; // Siempre se loguea, independientemente de SAURON_DEBUG } public function handle(): void { $this->withSauronLogging(function () { // ... lógica del job ... $this->sauronTrace('Chunk 1 procesado'); return ['items_processed' => 100]; // Datos opcionales en el log de éxito }); } }
Comportamiento del trait:
- Si
sauronCritical()devuelvetrueoSAURON_DEBUG=true, el logging se activa. - En caso contrario, el callback se ejecuta sin enviar nada a Sauron.
- Si se lanza una excepción, el proceso se marca como
failedy la excepción se re-lanza.
Métodos sobreescribibles:
| Método | Descripción | Por defecto |
|---|---|---|
sauronCode() |
Código identificador del proceso | Nombre de la clase en minúsculas |
sauronName() |
Nombre descriptivo | Propiedad $task o nombre de la clase |
sauronCritical() |
Si siempre debe loguearse | false |
sauronUuid() |
UUID del proceso | UUID aleatorio |
2. User Logs — Auditoría de acciones de usuario
Registra acciones CRUD realizadas por usuarios sobre modelos Eloquent.
use FarmaciasDirect\Sauron\Services\UserLogService; // Genérico UserLogService::log( user: 'user@example.com', action: 'approved', model: 'Order:42', originalData: ['status' => 'pending'], newData: ['status' => 'approved'], ); // Helpers para operaciones CRUD UserLogService::created($user->email, $model); UserLogService::updated($user->email, $model, $model->getOriginal()); UserLogService::deleted($user->email, $model);
3. Request Logs — Trazabilidad de peticiones HTTP
Registra peticiones HTTP entrantes con payload y respuesta.
use FarmaciasDirect\Sauron\Services\RequestLogService; // Desde un objeto Request de Laravel RequestLogService::fromRequest($request, response: $responseData, statusCode: 200); // Manual RequestLogService::log( user: 'user@example.com', method: 'POST', uri: '/api/orders', ipAddress: '192.168.1.1', payload: $request->all(), response: ['id' => 99], statusCode: 201, );
Referencia de clases
| Clase | Descripción |
|---|---|
ProcessLogService |
Gestión del ciclo de vida de procesos |
UserLogService |
Auditoría de acciones de usuario sobre modelos |
RequestLogService |
Logging de peticiones HTTP |
LogsToSauron (trait) |
Integración automática de logging en Jobs |
LogContext |
Contexto compartido del proceso activo (UUID, nombre) |
SauronClient |
Cliente HTTP hacia la API de Sauron |
Enlace en Packagist
https://packagist.org/packages/farmaciasdirect/sauron-connector
farmaciasdirect/sauron-connector 适用场景与选型建议
farmaciasdirect/sauron-connector 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 31 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 farmaciasdirect/sauron-connector 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 farmaciasdirect/sauron-connector 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 31
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 21
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2026-02-27