Files
loglens-cli/loglens/formatters/text_formatter.py
7000pctAUTO dc3e5e0709
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.9) (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / build (push) Has been cancelled
fix: add --version option to Click CLI group
- Added @click.version_option decorator to main() in commands.py
- Imported __version__ from loglens package
- Resolves CI build failure: 'loglens --version' command not found
2026-02-02 09:25:10 +00:00

35 lines
1.1 KiB
Python

from typing import Any
from loglens.analyzers.analyzer import AnalysisResult
class TextFormatter:
"""Format analysis results as plain text."""
def format(self, result: Any) -> str:
"""Format result as text."""
if not hasattr(result, "to_dict"):
return str(result)
data = result.to_dict()
lines = []
lines.append("=" * 60)
lines.append("LOG ANALYSIS")
lines.append("=" * 60)
lines.append(f"Total Lines: {data['total_lines']}")
lines.append(f"Format: {data['format_detected']}")
lines.append("")
lines.append("Severity Counts:")
lines.append(f" Critical: {data['critical_count']}")
lines.append(f" Error: {data['error_count']}")
lines.append(f" Warning: {data['warning_count']}")
lines.append(f" Debug: {data['debug_count']}")
if data.get("suggestions"):
lines.append("")
lines.append("Suggestions:")
for suggestion in data["suggestions"]:
lines.append(f" - {suggestion}")
return "\n".join(lines)