TiarraまたはMadokaで取得したIRCログファイルをJSONファイルに変換します。変換後のファイルはlog-archiverのデータベースへのインポートに使用することができます。
文字コードの変換にICUを使用しています。Debian系ではlibicu-devを、Red Hat系ではlibicu-develをインストールしてください。
初めにサブモジュールをダウンロードしてください。
ビルドにはC++17に対応したコンパイラ(GCCの場合7以降)とCMake 3.8以降が必要です。ビルド用のディレクトリを作成し、その中で作業してください。
# サブモジュールのダウンロード
git submodule update --init
# ビルド
mkdir build && cd build
cmake ..
make
# 並列でコンパイルする場合
# N = CPUコア数 + 1
make -j N
ICUの探索にpkg-configを使用しているため、環境変数 PKG_CONFIG_PATH
を指定してCMakeを実行してください。
PKG_CONFIG_PATH=/path/to/icu4c/lib/pkgconfig cmake ..
irclog2json (--tiarra | --madoka) [--iso-2022-jp] [--pretty] /path/to/yyyymmdd.txt チャンネル名
- ログの形式を指定する
--tiarra
または--madoka
は必須です。 - IRCログのファイル名から日付を決定します。
- チャンネル名は先頭の "#" を除いたものです。
変換後、ログファイルと同じディレクトリに yyyymmdd.json を出力します。
irclog2json --tiarra /path/to/yyyymmdd.txt チャンネル名
irclog2json --madoka /path/to/yyyymmdd.txt チャンネル名
上記に加えてオプション --iso-2022-jp
を付けてください。
irclog2json --madoka --iso-2022-jp /path/to/yyyymmdd.txt チャンネル名
オプション --pretty
を付けてください。
irclog2json --tiarra --pretty /path/to/yyyymmdd.txt チャンネル名
import.rbを使います。変換後、以下のコマンドでlog-archiverのデータベースにログをインポートすることができます。
cd /path/to/log-archiver
bin/rails runner -e production /path/to/import.rb /path/to/yyyymmdd.json