承接 intelligent-intern/loki-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

intelligent-intern/loki-bundle

最新稳定版本:1.0.0

Composer 安装命令:

composer require intelligent-intern/loki-bundle

包简介

Symfony bundle for Loki integration

README 文档

README

The intelligent-intern/loki-bundle integrates Loki with the Intelligent Intern Core Framework, providing a powerful and extensible logging solution.

Installation

Install the bundle using Composer:

composer require intelligent-intern/loki-bundle

Configuration

Ensure the following secret is set in vault:

secret/data/data/config:
  LOG_TARGET: loki

And add the detailed Loki configuration:

secret/data/data/loki:
  url: your_loki_url
  token: your_loki_token
  log_level: your_log_level

Usage

Once the bundle is installed and configured, the Core framework will dynamically detect the Loki logging service via the log.strategy tag.

The service will be available via the LogServiceFactory:

<?php

namespace App\Controller;

use App\Factory\LogServiceFactory;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;

class LoggingController extends AbstractController
{
    public function __construct(
        private LogServiceFactory $logServiceFactory
    ) {}

    public function logMessage(Request $request): JsonResponse
    {
        $message = $request->get('message', '');
        $level = $request->get('level', 'info');

        if (empty($message)) {
            return new JsonResponse(['error' => 'Message cannot be empty'], 400);
        }

        try {
            $logger = $this->logServiceFactory->create();
            $logger->log($level, $message);

            return new JsonResponse(['message' => 'Log written successfully']);
        } catch (\Exception $e) {
            return new JsonResponse(['error' => $e->getMessage()], 500);
        }
    }
}

Extensibility

This bundle is specifically designed to integrate with intelligent-intern/core. It leverages the dynamic service discovery mechanism to ensure seamless compatibility.

If you'd like to add additional logging strategies, simply create a similar bundle that implements the LogServiceInterface and tag its service with log.strategy.

For example:

services:
  Your\CustomBundle\Service\CustomLogService:
    tags: ['log.strategy']

License

This bundle is open-sourced software licensed under the MIT license.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-15