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
75.0%
Success Rate
1m 54s
Avg Duration
28s - 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 38s 109.4
100.0% openrouter/google/gemini-3-pro-preview 52s 54.1
100.0% openrouter/anthropic/claude-opus-4.5 28s 41.8
100.0% openrouter/openai/gpt-oss-120b 41s 95.1
100.0% openrouter/x-ai/grok-3-mini 58s 279.1
100.0% openrouter/google/gemini-2.5-pro 52s 35.7
100.0% openrouter/openai/gpt-oss-20b 1m 18s 298.7
100.0% openrouter/anthropic/claude-haiku-4.5 44s 76.3
100.0% openrouter/deepseek/deepseek-v3.1-terminus 45s 85.9
100.0% litellm/GLM-4.5-Air-FP8-dev 35s 111.3
100.0% openrouter/anthropic/claude-sonnet-4.5 44s 57.8
100.0% openrouter/x-ai/grok-code-fast-1 43s 53.2
83.3% openrouter/qwen/qwen3-coder 40s 102.9
16.7% openrouter/google/gemini-2.5-flash-lite-preview-09-2025 32s 109.1
0.0% openrouter/openai/gpt-4o-mini 10m 0s 0.0
0.0% openrouter/deepseek/deepseek-chat-v3-0324 10m 0s 0.0