Skip to content

xm-i/RemoteLogViewer

Repository files navigation

RemoteLogViewer

スクリーンショット

巨大なログ/テキストファイルを快適に閲覧・検索できる Windows アプリです。

SSH 経由でサーバ上のファイルも部分的に読み込みながら扱え、数十GB のファイルでも軽快に動作します。

✨ 主要機能

🔌 リモート接続

  • SSH 接続: パスワード・秘密鍵認証をサポート
  • ディレクトリ探索: リモートサーバ上のファイルシステムをExplorerライクに操作
  • ブックマーク: よく使うパスを登録・管理

📊 高性能ファイル閲覧

  • 仮想スクロール: 表示部分だけを読み込み、数十GB のファイルでも瞬時に表示
  • 複数タブ表示: 1つのSSH接続で複数ファイルを同時閲覧
  • 行番号ジャンプ: 直接行番号を指定して高速移動
  • 折り返し表示: 長い行も読みやすく表示

🔍 高度な検索機能

  • GREP 検索: 正規表現・文字列検索で大容量ファイルを高速処理
  • 検索結果ナビゲーション: 該当行への直接ジャンプ

🎨 カスタマイズ機能

  • シンタックスハイライト: エラーパターンや特定語句を自由に色分け

💾 データ操作

  • 範囲保存: 指定した行範囲を .txt 形式でエクスポート
  • エンコーディング対応: 複数の文字エンコードに自動対応

🎯 想定シナリオ

シナリオ 利用例 効果
障害調査 エラーメッセージを赤背景で強調、関連 ID を黄色で抽出 問題箇所を瞬時に特定
運用監視 CHECK UPDATE ボタンで最新状況確認、WARN/ERROR を色分け リアルタイム監視
大規模ログ解析 断片的に検索し必要部分だけ保存 数十GB でも高速処理
コード生成ログ確認 ビルド結果や警告を拾い出し絞り込み 開発効率の向上
複数ファイル比較 タブ切り替えで関連ファイルを同時確認 作業効率の大幅向上

🚀 インストール・起動

システム要件

  • OS: Windows 10 (1903以降) / Windows 11
  • ランタイム: .NET 10 Desktop Runtime
  • メモリ: 4GB 以上推奨

インストール手順

  1. リリースページ から最新版をダウンロード
  2. ZIP ファイルを任意のフォルダに展開
  3. RemoteLogViewer.exe を実行
  4. 初回起動時にワークスペースフォルダを設定(設定・ブックマーク等が保存されます)

📖 使用方法

1️⃣ SSH接続とファイルオープン

SSH接続設定 → サーバー接続 → ディレクトリ探索 → ファイル選択
  • 接続設定: ホスト・ユーザー・認証方式を設定
  • ディレクトリ探索: フォルダツリーでファイルを選択
  • 複数ファイル: タブで複数ファイルを同時に開けます

2️⃣ 高性能スクロール閲覧

  • 仮想スクロール: 表示範囲だけを読み込み、メモリ効率を最大化
  • 自動読み込み: スクロール操作で未読部分を自動取得
  • 行番号ジャンプ: 特定行への直接移動

3️⃣ GREP検索

検索ボックス入力 → Enter → 結果一覧 → 行番号クリックでジャンプ
  • 正規表現: 高度なパターンマッチング
  • 大文字小文字: 区別の有無を選択可能
  • 高速処理: 大容量ファイルでも瞬時に検索

4️⃣ シンタックスハイライト設定

設定画面 → ハイライト → パターン登録 → 色指定
  • パターン種類: 文字列完全一致 / 正規表現
  • 色設定: 文字色・背景色を自由に設定
  • スコープ: 行全体 or マッチ部分のみ

5️⃣ 便利機能

  • 行抽出: 気になる行をクリックして別タブに集約
  • 範囲保存: 指定範囲をローカルファイルにエクスポート
  • CHECK UPDATE: ファイル更新を手動で確認(Tailボタンの代替)
  • エンコーディング: 自動検出 + 手動切り替え

⚙️ ハイライト設定詳細

設定項目 説明
Pattern 検索語句・正規表現パターン ERROR\d{4}-\d{2}-\d{2}
PatternType Exact (完全一致) / Regex (正規表現) Regex
IgnoreCase 大文字小文字を区別しない
ForeColor 文字色 (省略可) #FFFFFF
BackColor 背景色 (省略可) #FF0000
HighlightOnlyMatch マッチ部分のみハイライト

❓ よくある質問 (FAQ)

Q. GREP検索が重い・応答しない

A. 以下の方法で改善できます:

  • GREP最大件数の設定を見直し
  • 検索条件をより具体的に絞り込み
  • 再検索機能で段階的に結果を取得
Q. ハイライトが期待通りに動作しない

A. ハイライトルールは上から順に適用されます:

  • 同じ範囲に複数ルールが重なると、後のルールが適用されません
  • ルールの順番を調整してください
  • HighlightOnlyMatch 設定を確認してください
Q. 文字化けが発生する

A. エンコーディングを調整してください:

  • 画面右上のエンコーディング切り替え操作
  • 自動検出がうまくいかない場合は手動選択
  • 一般的な形式:UTF-8、Shift_JIS、EUC-JP

💡 使用のコツ

🎯 効率的なワークフロー

  1. 重要なパターンをハイライト設定:ERROR / WARN / INFO を色分け
  2. 頻繁にアクセスするパスをブックマーク:作業効率を向上
  3. 検索結果から直接ジャンプ:行番号クリックで即座に移動
  4. 範囲保存を活用:調査結果を証跡として保存

🚀 パフォーマンス最適化

  • ハイライトルール:必要最小限に絞る
  • 表示行数:環境に応じて調整
  • 複数タブ:無関係なタブは適宜クローズ

🔒 セキュリティ・プライバシー

  • データ保護: 読み込んだログはアプリ内メモリのみ保持、外部送信なし
  • ローカル処理: すべての処理はローカル環境およびSSH接続先サーバで完結
  • 最小限保存: 明示的に保存操作を行った範囲のみローカル書き出し
  • SSH セキュリティ: 標準的なSSH暗号化プロトコルを使用

🔄 更新方法

  1. リリースページ で最新版を確認
  2. 新しいバージョンをダウンロードして上書き
  3. 設定・ブックマークは自動で保持されます
  4. 変更内容は CHANGELOG.md を参照

🛠️ 技術仕様

アーキテクチャ

  • プラットフォーム: Windows 11 (WinUI 3)
  • 言語: C# 14.0 (.NET 10)
  • フロントエンド: TypeScript/Vue.js 3.5 + WebView2
  • UI フレームワーク: WinUI 3 (XAML) + モダン Web UI

主要ライブラリ

分野 ライブラリ 用途
UI WinUI 3 + Vue.js 3.5 ハイブリッド UI
Web エンジン WebView2 モダンなファイルビューア
ビルド Webpack 5 + TypeScript フロントエンド統合
SSH 通信 SSH.NET リモートサーバー接続
リアクティブ R3 非同期・イベント処理
DI コンテナ Microsoft.Extensions.DependencyInjection 依存性注入
ログ出力 Serilog 構造化ログ

パフォーマンス特性

  • メモリ使用量: 表示部分のみ読み込み(数十GB ファイル対応)
  • 検索性能: サーバー上で GREP を行い、結果のみ受信
  • レスポンス: WebView2 によるスムーズな UI

📄 ライセンス

検討中・MIT予定

🤝 コミュニティ・サポート

バグ報告・機能要望

開発者向け

  • デバッグ: Debug 構成で WebView2 開発者ツール利用可能
  • ビルド: .NET 10 SDK + Node.js 20+ で開発環境構築
  • アーキテクチャ: C# (バックエンド) + TypeScript/Vue.js (フロントエンド)

RemoteLogViewer - 高性能ログビューアで、あなたの運用・開発効率を向上させます 🚀

About

linux上のログファイルをSSH経由で確認

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •