summaryrefslogtreecommitdiff
path: root/website/src/ja/docs/features/message-logging.md
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-06-12 15:42:51 +0900
committerSho Sakuma <me@m1sk9.dev>2026-06-12 15:42:51 +0900
commit8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81 (patch)
tree5a11035b136b216f2033d78a1e4d6b6138c18772 /website/src/ja/docs/features/message-logging.md
parent043e202b1cbedad69d5521a83e791c106b49b10f (diff)
downloadLunaticChat-8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81.tar.gz
LunaticChat-8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81.tar.bz2
LunaticChat-8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81.zip
docs(website): make English the default locale
Swap the website default locale from Japanese to English. English now lives at the site root (/), and Japanese moves under /ja/. Update locale config, nav/sidebar links, internal doc links, and asset relative paths accordingly. Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/ja/docs/features/message-logging.md')
-rw-r--r--website/src/ja/docs/features/message-logging.md94
1 files changed, 94 insertions, 0 deletions
diff --git a/website/src/ja/docs/features/message-logging.md b/website/src/ja/docs/features/message-logging.md
new file mode 100644
index 0000000..944b9e9
--- /dev/null
+++ b/website/src/ja/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
+```