Task task7_log_parser

You'll find a log file called `application.log` in the current directory. Parse this log file and extract the following information:

1. Count the total number of ERROR and WARNING level messages
2. Extract all unique IP addresses that appear in the logs
3. Find all timestamps where errors occurred
4. Identify the most common error message (if any patterns exist)

Generate a JSON file called `log_analysis.json` with the following structure:

```json
{
"total_errors": <number>,
"total_warnings": <number>,
"unique_ips": ["ip1", "ip2", ...],
"error_timestamps": ["timestamp1", "timestamp2", ...],
"most_common_error": "<error message or null>"
}
```

Make sure to handle different log formats gracefully and extract the relevant information accurately.

PS: You are currently working in an automated system and cannot ask any question or have back and forth with an user.

Results

16
Models Tested
62.5%
Success Rate
2m 3s
Avg Duration
25s - 10m 0s
Duration Range

Details

Score Model Duration Session (KB) test_1_file_exists.sh test_2_valid_json.sh test_3_correct_counts.sh test_4_unique_ips.sh test_5_error_timestamps.sh test_6_most_common_error.sh
100.0% openrouter/google/gemini-2.5-flash-preview-09-2025 32s 88.8
100.0% openrouter/google/gemini-3-pro-preview 1m 9s 60.2
100.0% openrouter/anthropic/claude-opus-4.5 30s 42.8
100.0% openrouter/openai/gpt-oss-120b 29s 129.5
100.0% openrouter/qwen/qwen3-coder 2m 5s 199.2
100.0% openrouter/x-ai/grok-3-mini 1m 3s 299.3
100.0% openrouter/google/gemini-2.5-pro 1m 29s 116.4
100.0% openrouter/anthropic/claude-haiku-4.5 25s 40.2
100.0% openrouter/anthropic/claude-sonnet-4.5 50s 57.5
100.0% openrouter/x-ai/grok-code-fast-1 33s 38.6
83.3% openrouter/google/gemini-2.5-flash-lite-preview-09-2025 46s 163.5
83.3% openrouter/deepseek/deepseek-v3.1-terminus 34s 38.8
33.3% openrouter/openai/gpt-oss-20b 1m 42s 375.8
16.7% openrouter/openai/gpt-4o-mini 46s 129.1
0.0% litellm/GLM-4.5-Air-FP8-dev 10m 0s 0.0
0.0% openrouter/deepseek/deepseek-chat-v3-0324 10m 0s 0.0