PHPackages                             tourze/json-rpc-log-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. tourze/json-rpc-log-bundle

ActiveSymfony-bundle[Logging &amp; Monitoring](/categories/logging)

tourze/json-rpc-log-bundle
==========================

JsonRPC日志实现

2.0.0(4mo ago)08.5k20MITPHPCI passing

Since Apr 15Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/tourze/json-rpc-log-bundle)[ Packagist](https://packagist.org/packages/tourze/json-rpc-log-bundle)[ RSS](/packages/tourze-json-rpc-log-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (44)Versions (18)Used By (20)

JsonRPC Log Bundle
==================

[](#jsonrpc-log-bundle)

[English](README.md) | [中文](README.zh-CN.md)

\[[![Latest Version](https://camo.githubusercontent.com/59a5ee1cb7b797f93f0acaf7de48462da861adb2336834452e40d1801cffd6a2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/59a5ee1cb7b797f93f0acaf7de48462da861adb2336834452e40d1801cffd6a2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)\] () \[[![License](https://camo.githubusercontent.com/0a33ebc2bb856d143616efce02b7d3d8f979734d4496ead4fc47f42240922904/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/0a33ebc2bb856d143616efce02b7d3d8f979734d4496ead4fc47f42240922904/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)\] () \[[![PHP Version](https://camo.githubusercontent.com/4bc7cade83bd2db3b29b67148a0f72d05fe67ff063fe4381cfb3cd5296184636/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/4bc7cade83bd2db3b29b67148a0f72d05fe67ff063fe4381cfb3cd5296184636/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f746f75727a652f6a736f6e2d7270632d6c6f672d62756e646c652e7376673f7374796c653d666c61742d737175617265)\] () \[[![Build Status](https://camo.githubusercontent.com/02cb986ff6d935f986d1225f4342be1c3c7d1662540cd68b787c538b725ab0ea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f746f75727a652f7068702d6d6f6e6f7265706f2f43492f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/02cb986ff6d935f986d1225f4342be1c3c7d1662540cd68b787c538b725ab0ea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f746f75727a652f7068702d6d6f6e6f7265706f2f43492f6d61737465722e7376673f7374796c653d666c61742d737175617265)\] () \[[![Code Coverage](https://camo.githubusercontent.com/25302785664d5a8cdcf76f70ff42adf08dd5b6b917d810c411858f48be62149a/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f746f75727a652f7068702d6d6f6e6f7265706f2f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/25302785664d5a8cdcf76f70ff42adf08dd5b6b917d810c411858f48be62149a/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f746f75727a652f7068702d6d6f6e6f7265706f2f6d61737465722e7376673f7374796c653d666c61742d737175617265)\] ()

A Symfony bundle for comprehensive JsonRPC server logging with async database storage, performance monitoring, and seamless integration with the Tourze ecosystem.

Table of Contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Configure Log Retention](#configure-log-retention)
- [Access Admin Interface](#access-admin-interface)
- [Configuration Options](#configuration-options)
- [Environment Variables](#environment-variables)
- [Advanced Usage](#advanced-usage)
- [Database Schema](#database-schema)
- [Testing](#testing)
- [Security](#security)
- [Contributing](#contributing)
- [License](#license)
- [Changelog](#changelog)

Features
--------

[](#features)

- **Automatic Request/Response Logging**: Log JsonRPC requests, responses, and exceptions to database
- **Async Database Storage**: High-performance async insertion using Doctrine
- **Performance Monitoring**: Stopwatch timing and execution metrics
- **Event-Driven Architecture**: Extensible logging through event subscribers
- **Admin Interface**: Built-in EasyAdmin CRUD for log management
- **Automatic Cleanup**: Configurable log retention policies
- **Rich Context**: Captures IP, User-Agent, User info, and more
- **Flexible Configuration**: Control logging via attributes and environment variables

Requirements
------------

[](#requirements)

- PHP &gt;= 8.1
- Symfony &gt;= 6.4
- Doctrine ORM

Installation
------------

[](#installation)

### Install via Composer

[](#install-via-composer)

```
composer require tourze/json-rpc-log-bundle
```

### Required Dependencies

[](#required-dependencies)

The bundle integrates with several Tourze ecosystem packages:

- `tourze/doctrine-async-insert-bundle` - Async database operations
- `tourze/doctrine-snowflake-bundle` - Snowflake ID generation
- `tourze/json-rpc-core` - Core JsonRPC functionality

### Database Setup

[](#database-setup)

Run migrations to create the required database tables:

```
php bin/console doctrine:migrations:migrate
```

Quick Start
-----------

[](#quick-start)

### 1. Enable Logging on JsonRPC Procedures

[](#1-enable-logging-on-jsonrpc-procedures)

```
