- 版权类型
- 转载
- 插件中文名
- UltimateLogger
- 插件英文名
- UltimateLogger
- 支持的核心 [服务端]
- Paper
- 语言支持
- 中文(简体)
- 适配Minecraft版本 [Java]
- 1.21
[MD]
# UltimateLogger
UltimateLogger 是一款适用于 Paper/Spigot 服务端的综合日志插件,能够详细记录各类玩家行为与方块事件,同时提供灵活强大的开发者 API,方便二次扩展。




## 功能特性
- **全面的事件记录**,涵盖以下内容:
- 玩家聊天消息
- 玩家执行的命令
- 玩家加入/退出事件(含 IP 地址)
- 玩家死亡
- 方块破坏
- 方块放置
- **数据库存储**:支持 SQLite(本地文件)或 MySQL(远程数据库)
- **游戏内 GUI**:可在游戏内直接查看和筛选日志,支持单条日志详情视图
- **日志管理**:支持归档日志以防止自动删除,并提供自动清理过期日志的功能
- **Discord 集成**:通过 Webhook 将日志通知发送至 Discord
- **灵活的 API**:可轻松扩展自定义日志类型
- **高度可配置**:数据库设置、缓存大小、批处理参数、日志类型开关等均可自定义
- **性能优化**:采用批处理与连接池机制,将对服务器的性能影响降至最低
## 安装
1. 从 [GitHub Releases](https://github.com/xef5000/UltimateLogger/releases) 下载最新版本,或自行从源码构建
2. 将 JAR 文件放入服务端的 `plugins` 文件夹
3. 重启服务器
4. 在 `plugins/UltimateLogger/`config.yml 文件中完成配置
## 配置
插件配置文件(config.yml)支持对以下各项进行自定义:
```yaml
# UltimateLogger 配置文件
# 数据库设置
# type 可选值:"SQLITE" 或 "MYSQL"
database:
type: "SQLITE"
# SQLite 设置
sqlite:
# 数据库文件名,将在 UltimateLogger 插件文件夹内创建
filename: "logs.db"
# MySQL 设置
mysql:
host: "localhost"
port: 3306
database: "ultimatelogger"
username: "user"
password: "password"
# 连接池设置
pool:
# 连接池最大连接数
max-size: 10
# 日志管理器设置
logs:
# 缓存设置
cache:
# 缓存最大页数
max-size: 100
# 缓存条目在未被访问后的过期时间(分钟)
expiry-minutes: 5
# 批处理设置
batch:
# 单批次最多处理的日志条数
size: 100
# 批处理执行间隔(Tick 数,20 Tick = 1 秒)
interval: 100
# 需要禁用的日志类型
disabled-log-types:
- block_break
- block_place
# Webhook 设置
webhooks:
#block_break:
# url: "https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvwxyz"
#player_chat:
# url: "https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvwxyz"
# condition: "message|=|test"
# 日志自动删除的保留天数,设为 -1 则禁用自动删除
retention-period-days: 30
# 清理任务执行间隔(分钟)
cleanup-interval-minutes: 60
```
## 使用说明
### 命令
| 命令 | 说明 | 所需权限 |
|------|------|----------|
| /logger | 打开日志查看 GUI | `ultimatelogger.view` |
| /logger `view <page>` | 在聊天栏查看日志 | `ultimatelogger.view` |
| /logger `log <id>` | 在详情 GUI 中查看指定 ID 的日志 | `ultimatelogger.view` |
| /logger `stats` | 查看插件统计信息 | `ultimatelogger.stats` |
| /logger `reload` | 重载插件配置 | `ultimatelogger.reload` |
| /logger `help` | 显示帮助信息 | — |
| /logger `clean` | 清理已过期的日志 | — |
| /logger `clear <filter>` | 清除符合筛选条件的日志 | `ultimatelogger.clear` |
### 权限节点
| 权限节点 | 说明 |
|----------|------|
| `ultimatelogger.view` | 允许查看日志 |
| `ultimatelogger.stats` | 允许查看插件统计信息 |
| `ultimatelogger.reload` | 允许重载插件配置 |
| `ultimatelogger.archive` | 允许归档日志以防止自动删除 |
| `ultimatelogger.unarchive` | 允许取消归档,使日志恢复正常过期 |
| `ultimatelogger.clear` | 允许手动清理或清除数据库中的日志 |
## 开发者 API
UltimateLogger 提供了灵活的 API 供开发者扩展功能。如需添加自定义日志类型,请参阅 [Github](https://github.com/xef5000/UltimateLogger/blob/master/README.md) 上的开发教程。
[/MD]
# UltimateLogger
UltimateLogger 是一款适用于 Paper/Spigot 服务端的综合日志插件,能够详细记录各类玩家行为与方块事件,同时提供灵活强大的开发者 API,方便二次扩展。




## 功能特性
- **全面的事件记录**,涵盖以下内容:
- 玩家聊天消息
- 玩家执行的命令
- 玩家加入/退出事件(含 IP 地址)
- 玩家死亡
- 方块破坏
- 方块放置
- **数据库存储**:支持 SQLite(本地文件)或 MySQL(远程数据库)
- **游戏内 GUI**:可在游戏内直接查看和筛选日志,支持单条日志详情视图
- **日志管理**:支持归档日志以防止自动删除,并提供自动清理过期日志的功能
- **Discord 集成**:通过 Webhook 将日志通知发送至 Discord
- **灵活的 API**:可轻松扩展自定义日志类型
- **高度可配置**:数据库设置、缓存大小、批处理参数、日志类型开关等均可自定义
- **性能优化**:采用批处理与连接池机制,将对服务器的性能影响降至最低
## 安装
1. 从 [GitHub Releases](https://github.com/xef5000/UltimateLogger/releases) 下载最新版本,或自行从源码构建
2. 将 JAR 文件放入服务端的 `plugins` 文件夹
3. 重启服务器
4. 在 `plugins/UltimateLogger/`config.yml 文件中完成配置
## 配置
插件配置文件(config.yml)支持对以下各项进行自定义:
```yaml
# UltimateLogger 配置文件
# 数据库设置
# type 可选值:"SQLITE" 或 "MYSQL"
database:
type: "SQLITE"
# SQLite 设置
sqlite:
# 数据库文件名,将在 UltimateLogger 插件文件夹内创建
filename: "logs.db"
# MySQL 设置
mysql:
host: "localhost"
port: 3306
database: "ultimatelogger"
username: "user"
password: "password"
# 连接池设置
pool:
# 连接池最大连接数
max-size: 10
# 日志管理器设置
logs:
# 缓存设置
cache:
# 缓存最大页数
max-size: 100
# 缓存条目在未被访问后的过期时间(分钟)
expiry-minutes: 5
# 批处理设置
batch:
# 单批次最多处理的日志条数
size: 100
# 批处理执行间隔(Tick 数,20 Tick = 1 秒)
interval: 100
# 需要禁用的日志类型
disabled-log-types:
- block_break
- block_place
# Webhook 设置
webhooks:
#block_break:
# url: "https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvwxyz"
#player_chat:
# url: "https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvwxyz"
# condition: "message|=|test"
# 日志自动删除的保留天数,设为 -1 则禁用自动删除
retention-period-days: 30
# 清理任务执行间隔(分钟)
cleanup-interval-minutes: 60
```
## 使用说明
### 命令
| 命令 | 说明 | 所需权限 |
|------|------|----------|
| /logger | 打开日志查看 GUI | `ultimatelogger.view` |
| /logger `view <page>` | 在聊天栏查看日志 | `ultimatelogger.view` |
| /logger `log <id>` | 在详情 GUI 中查看指定 ID 的日志 | `ultimatelogger.view` |
| /logger `stats` | 查看插件统计信息 | `ultimatelogger.stats` |
| /logger `reload` | 重载插件配置 | `ultimatelogger.reload` |
| /logger `help` | 显示帮助信息 | — |
| /logger `clean` | 清理已过期的日志 | — |
| /logger `clear <filter>` | 清除符合筛选条件的日志 | `ultimatelogger.clear` |
### 权限节点
| 权限节点 | 说明 |
|----------|------|
| `ultimatelogger.view` | 允许查看日志 |
| `ultimatelogger.stats` | 允许查看插件统计信息 |
| `ultimatelogger.reload` | 允许重载插件配置 |
| `ultimatelogger.archive` | 允许归档日志以防止自动删除 |
| `ultimatelogger.unarchive` | 允许取消归档,使日志恢复正常过期 |
| `ultimatelogger.clear` | 允许手动清理或清除数据库中的日志 |
## 开发者 API
UltimateLogger 提供了灵活的 API 供开发者扩展功能。如需添加自定义日志类型,请参阅 [Github](https://github.com/xef5000/UltimateLogger/blob/master/README.md) 上的开发教程。
[/MD]