Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Extract Error Patterns from Logs
00:00
5 left

Extract Error Patterns from Logs

EasyPython

Problem

You are given log lines from an Apple service and a list of error patterns to track. Write a Python function that scans the logs and returns how many times each pattern appears, along with the matching log lines for each pattern.

A log line matches a pattern if the pattern appears as a case-sensitive substring anywhere in that line. A single line may match multiple patterns. Ignore empty log lines.

Formal Specification

  • Input:
    • logs: a list of strings, where each string is one log line
    • patterns: a list of unique strings representing error patterns to search for
  • Output:
    • A dictionary where each key is a pattern and each value is another dictionary with:
      • count: number of matching log lines
      • lines: list of matching log lines in original order

Constraints

  • 1 <= len(logs) <= 10^4
  • 1 <= len(patterns) <= 100
  • 0 <= len(logs[i]) <= 500
  • 1 <= len(patterns[i]) <= 50
  • patterns contains unique strings
  • Matching is case-sensitive substring matching

Function Signature

def extract_error_patterns(logs, patterns):
Interviewer

Your question is Extract Error Patterns from Logs. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.