defmodule PhoenixTail.TailChannel do use Phoenix.Channel def join("tails:sample", auth_msg, socket) do {:ok, socket} end def join("tails:" <> _private_room_id, _auth_msg, socket) do {:error, %{reason: "unauthorized"}} end end ログファイルを監視するプロセスを作る 次に、tail の対象とするログファイルを監視する部分を実装します。 処理の流れとしては、 定期的に対象のファイルをチェック 変更が入っていれば、前回取得行以降の行を取得 取得した内容を WebSocket に broadcast という感じで、サーバへのリクエストなどとは一切関係ないものとなります。 つまり