summaryrefslogtreecommitdiff
path: root/website/src/docs/features/message-logging.md
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-04-05 01:18:10 +0900
committerSho Sakuma <me@m1sk9.dev>2026-04-05 01:18:10 +0900
commit6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb (patch)
treeafafd4444f8f7b89418182705dfe5de69a4b9868 /website/src/docs/features/message-logging.md
parent842bf9df75a5e23ab31bdfb5717b76449264e999 (diff)
downloadLunaticChat-6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb.tar.gz
LunaticChat-6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb.tar.bz2
LunaticChat-6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb.zip
docs(website): add v1 documentation pages and fix dark theme
Add 12 documentation pages covering configuration, permissions, features (DM, channel chat, romaji conversion, Velocity integration, message logging, admin), and reference (commands, message format, player settings). Restructure sidebar for new docs layout. Fix dark theme rendering caused by :global(.dark) in DownloadCard.vue applying filter:invert(1) to html element. Fix download button colors for dark mode. Add protocol version compatibility notice to download page. Move favicon.ico to correct public directory. Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs/features/message-logging.md')
-rw-r--r--website/src/docs/features/message-logging.md94
1 files changed, 94 insertions, 0 deletions
diff --git a/website/src/docs/features/message-logging.md b/website/src/docs/features/message-logging.md
new file mode 100644
index 0000000..944b9e9
--- /dev/null
+++ b/website/src/docs/features/message-logging.md
@@ -0,0 +1,94 @@
+---
+layout: doc
+---
+
+# メッセージログ
+
+チャンネルチャットのメッセージを NDJSON (Newline Delimited JSON) 形式でファイルに記録します.この機能はチャンネルチャットが有効な場合に利用でき,デフォルトで有効です.
+
+## 設定
+
+```yaml
+# config.yml
+features:
+ channelChat:
+ enabled: true
+ messageLogging:
+ enabled: true
+ retentionDays: 30
+ maxFileSizeMB: 100
+```
+
+| 設定キー | デフォルト | 説明 |
+|----------|-----------|------|
+| `enabled` | `true` | メッセージログを有効にする |
+| `retentionDays` | `30` | ログファイルの保持日数 (`0` で無期限保持) |
+| `maxFileSizeMB` | `100` | 単一ログファイルの最大サイズ (MB) |
+
+## ログファイルの形式
+
+ログファイルは `plugins/LunaticChat/logs/` ディレクトリに保存されます.各行が1つの JSON オブジェクトです.
+
+### ファイル名
+
+```
+channel-messages-YYYY-MM-dd.json
+```
+
+ファイルサイズが `maxFileSizeMB` を超えた場合,サフィックス付きの新しいファイルが作成されます.
+
+```
+channel-messages-2026-04-05.json # 基本ファイル
+channel-messages-2026-04-05-1.json # サイズ超過時
+channel-messages-2026-04-05-2.json # さらに超過時
+```
+
+### エントリ形式
+
+各行は以下の JSON 構造を持ちます.
+
+```json
+{
+ "timestamp": "2026-04-05T14:23:45.123Z",
+ "playerId": "550e8400-e29b-41d4-a716-446655440000",
+ "playerName": "Steve",
+ "channelId": "general",
+ "message": "Hello everyone!"
+}
+```
+
+| フィールド | 型 | 説明 |
+|-----------|------|------|
+| `timestamp` | String | ISO 8601 形式のタイムスタンプ (UTC) |
+| `playerId` | String | プレイヤーの UUID |
+| `playerName` | String | プレイヤーの表示名 |
+| `channelId` | String | メッセージが送信されたチャンネルの ID |
+| `message` | String | メッセージの内容 |
+
+## ファイルローテーション
+
+- **日次ローテーション**: 日付が変わると新しいファイルが作成されます
+- **サイズローテーション**: `maxFileSizeMB` を超えるとサフィックス付きファイルに切り替わります
+- **自動クリーンアップ**: `retentionDays` で指定した日数を超えたログファイルは自動的に削除されます (`0` の場合は削除されません)
+
+## ログの活用例
+
+NDJSON 形式のため,`jq` などのツールで簡単にフィルタリング・集計が可能です.
+
+### 特定チャンネルのメッセージを抽出
+
+```bash
+jq 'select(.channelId == "general")' channel-messages-2026-04-05.json
+```
+
+### 特定プレイヤーのメッセージを抽出
+
+```bash
+jq 'select(.playerName == "Steve")' channel-messages-2026-04-05.json
+```
+
+### メッセージ数をチャンネルごとに集計
+
+```bash
+jq -s 'group_by(.channelId) | map({channel: .[0].channelId, count: length})' channel-messages-2026-04-05.json
+```