コマンドラインの出力に色を付ける
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* ログを簡単にカスタマイズして色分けして見やすくするPytho...
ログが大量に出力されて見づらいと感じることがあります。
そこで、今回はPythonでログを色分けして見やすくするスクリ...
**スクリプト: colorize.py[#n559fc63]
```python
import re
import sys
import time
import signal
# 色定義
COLOR_CODES = {
"RED": "\033[91m",
"GREEN": "\033[92m",
"YELLOW": "\033[93m",
"BLUE": "\033[94m",
"MAGENTA": "\033[95m",
"CYAN": "\033[96m",
"RESET": "\033[0m",
}
# 文字列と色のマッピング (辞書で管理)
# 例: r"(FlutterLoader\.loadEntrypoint)" のように、
# マッチしたグループ1を赤色で表示
STRING_COLOR_MAP = {
r"(FlutterLoader\.loadEntrypoint)": "RED",
r"(Main function started)": "CYAN",
r"^Exception$": "YELLOW", # 行頭にException、行末に...
}
def colorize_log(line):
"""Flutter のログ行に色を付ける関数
Args:
line: ログの一行
Returns:
色付けされたログ行
"""
for pattern, color in STRING_COLOR_MAP.items():
match = re.search(pattern, line)
if match:
# マッチしたグループを色付け
highlighted_text = f"{COLOR_CODES[color]}{ma...
line = line.replace(match.group(1), highligh...
return line
def main():
"""Git Bash からの出力をパイプで受け取り、色付けして...
"""
def signal_handler(sig, frame):
print("\nCtrl+C で終了します。")
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
try:
while True:
line = sys.stdin.readline()
if not line:
break
print(colorize_log(line), end="")
sys.stdout.flush()
except KeyboardInterrupt:
print("\nCtrl+C で終了します。")
if __name__ == "__main__":
main()
# --- 使い方 ---
# 1. このスクリプトを colorize.py として保存
# 2. Git Bash で以下のコマンドを実行
# flutter run 2>&1 | python colorize.py
# 3. Ctrl+C で flutter run を終了してください。
# その後、このスクリプトも自動的に終了します。
# 4. STRING_COLOR_MAP に、色を付けたい文字列と色を追加
# 例:
# r"(Building flutter tool)": "GREEN",
# r"(Error:)": "RED",
**使い方** [#gaa8b18c]
1. 上記のスクリプトを `colorize.py` という名前で保存しま...
2. Git Bash で以下のコマンドを実行します。
下記のコマンドの説明: 先頭のflutter runは、どんなコマンド...
flutter run 2>&1 | python colorize.py
3. Ctrl+Cで終了してください。
その後、このスクリプトも自動的に終了します。
**カスタマイズ** [#ad31b608]
`STRING_COLOR_MAP` に、色を付けたい文字列と色を追加するこ...
**例** [#j560563d]
STRING_COLOR_MAP = {
# ... (他のパターン)
r"(Building flutter tool)": "GREEN",
r"(Error:)": "RED",
}
**まとめ** [#o4c48b70]
このスクリプトを使うことで、簡単にカスタマイズできるよう...
ぜひ活用してみてください。
終了行:
* ログを簡単にカスタマイズして色分けして見やすくするPytho...
ログが大量に出力されて見づらいと感じることがあります。
そこで、今回はPythonでログを色分けして見やすくするスクリ...
**スクリプト: colorize.py[#n559fc63]
```python
import re
import sys
import time
import signal
# 色定義
COLOR_CODES = {
"RED": "\033[91m",
"GREEN": "\033[92m",
"YELLOW": "\033[93m",
"BLUE": "\033[94m",
"MAGENTA": "\033[95m",
"CYAN": "\033[96m",
"RESET": "\033[0m",
}
# 文字列と色のマッピング (辞書で管理)
# 例: r"(FlutterLoader\.loadEntrypoint)" のように、
# マッチしたグループ1を赤色で表示
STRING_COLOR_MAP = {
r"(FlutterLoader\.loadEntrypoint)": "RED",
r"(Main function started)": "CYAN",
r"^Exception$": "YELLOW", # 行頭にException、行末に...
}
def colorize_log(line):
"""Flutter のログ行に色を付ける関数
Args:
line: ログの一行
Returns:
色付けされたログ行
"""
for pattern, color in STRING_COLOR_MAP.items():
match = re.search(pattern, line)
if match:
# マッチしたグループを色付け
highlighted_text = f"{COLOR_CODES[color]}{ma...
line = line.replace(match.group(1), highligh...
return line
def main():
"""Git Bash からの出力をパイプで受け取り、色付けして...
"""
def signal_handler(sig, frame):
print("\nCtrl+C で終了します。")
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
try:
while True:
line = sys.stdin.readline()
if not line:
break
print(colorize_log(line), end="")
sys.stdout.flush()
except KeyboardInterrupt:
print("\nCtrl+C で終了します。")
if __name__ == "__main__":
main()
# --- 使い方 ---
# 1. このスクリプトを colorize.py として保存
# 2. Git Bash で以下のコマンドを実行
# flutter run 2>&1 | python colorize.py
# 3. Ctrl+C で flutter run を終了してください。
# その後、このスクリプトも自動的に終了します。
# 4. STRING_COLOR_MAP に、色を付けたい文字列と色を追加
# 例:
# r"(Building flutter tool)": "GREEN",
# r"(Error:)": "RED",
**使い方** [#gaa8b18c]
1. 上記のスクリプトを `colorize.py` という名前で保存しま...
2. Git Bash で以下のコマンドを実行します。
下記のコマンドの説明: 先頭のflutter runは、どんなコマンド...
flutter run 2>&1 | python colorize.py
3. Ctrl+Cで終了してください。
その後、このスクリプトも自動的に終了します。
**カスタマイズ** [#ad31b608]
`STRING_COLOR_MAP` に、色を付けたい文字列と色を追加するこ...
**例** [#j560563d]
STRING_COLOR_MAP = {
# ... (他のパターン)
r"(Building flutter tool)": "GREEN",
r"(Error:)": "RED",
}
**まとめ** [#o4c48b70]
このスクリプトを使うことで、簡単にカスタマイズできるよう...
ぜひ活用してみてください。
ページ名: