1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# チャンネルチャット: ログ <Badge type="tip" text="v0.7.0" />
チャンネルチャットのログは,チャット内で行われたすべてのメッセージとアクティビティの記録です.
::: warning CoreProtect などのプラグインとの互換性
LunaticChat では,チャンネルチャット機能に限り v0.7.0 以降 CoreProtect などのログ記録プラグインと互換性はありません.
:::
## チャンネルチャットのログを確認する
チャンネルチャットのログは `plugins/LunaticChat/logs/channelchat/` ディレクトリに保存されます.
チャンネルチャットのログファイルは,以下のフォーマットで保存されます:
```
{"timestamp":"2026-01-31T08:54:18.504343071Z","playerId":"ceaea267-39dd-3bac-931c-761ada671ebe","playerName":"m1sk9","channelId":"test","message":"こんにちは"}
```
## ファイルサイズについて
各行が1つの完全な JSON オブジェクトであり,各行で区切られているだけで,ファイル全体としては JSON 配列ではありません.
```text
plugins/LunaticChat/logs/
├── channel-messages-2026-01-17.json (5.2 MB)
├── channel-messages-2026-01-18.json (4.8 MB)
├── channel-messages-2026-01-19.json (6.1 MB)
├── channel-messages-2026-01-20.json (5.5 MB)
├── channel-messages-2026-01-21.json (7.2 MB) <- 週末、アクティブ
├── channel-messages-2026-01-22.json (6.9 MB)
├── channel-messages-2026-01-23.json (4.3 MB)
├── channel-messages-2026-01-24.json (5.0 MB)
├── channel-messages-2026-01-25.json (5.4 MB)
├── channel-messages-2026-01-26.json (4.9 MB)
├── channel-messages-2026-01-27.json (6.2 MB)
├── channel-messages-2026-01-28.json (7.5 MB)
├── channel-messages-2026-01-29.json (5.8 MB)
├── channel-messages-2026-01-30.json (6.0 MB)
└── channel-messages-2026-01-31.json (2.1 MB) <- 今日(進行中)
```
合計: 約 83 MB
30日保持設定 の場合,1月17日のファイルは明日自動削除されます.
### 1メッセージあたりのサイズ
チャンネルチャットのログエントリは1行につき,約200バイトです.
1時間に1000メッセージの計算として
```text
1000 msg/h × 24h × 220 bytes = 5,280,000 bytes ≈ 5.3 MB/日
```
デフォルト設定の30日間保持の場合は **159 MB** 程度になります.
```text
5.3 MB × 30日 = 159 MB
```
## Grafana Loki での可視化
JSON 形式のため,Promtail を使用し,Grafana Loki にチャンネルチャットのログを取り込むとパースされ読みやすくなります.
```text
2026-01-31 10:23:45.123 {job="lunatichat", player="Steve", channel="Global"}
Hello everyone!
2026-01-31 10:24:12.456 {job="lunatichat", player="Alex", channel="Global"}
Hi Steve!
2026-01-31 10:25:03.789 {job="lunatichat", player="Notch", channel="Development Team"}
Working on new features
```
::: tip フィルタリング例
Grafana Loki でログをクエリ化する例:
```text
{job="lunatichat"} |= "new features"
{job="lunatichat", channel="Global"}
{job="lunatichat", player="Steve"}
```
:::
## コマンドラインでの確認例
### 最新10件を見る
```bash
tail -n 10 plugins/LunaticChat/logs/channel-messages-2026-01-31.json | jq
```
### 特定プレイヤーのメッセージを抽出
```bash
cat plugins/LunaticChat/logs/channel-messages-*.json | \
jq 'select(.playerName=="Steve")'
```
### 特定チャンネルのメッセージ数をカウント
```bash
cat plugins/LunaticChat/logs/channel-messages-*.json | \
jq 'select(.channelId=="global")' | wc -l
```
### 日付別メッセージ数
```bash
for file in plugins/LunaticChat/logs/channel-messages-*.json; do
echo "$file: $(wc -l < $file) messages"
done
```
|