import re
def extract_log_values(log_file_path):
"""
Extracts specific values from a log file.
"""
try:
with open(log_file_path, 'r') as f:
log_data = f.read()
except FileNotFoundError:
return "Error: Log file not found."
# Define regex patterns for values to extract. Adjust as needed.
patterns = {
"error_count": r"ERROR: (.*?)", # Extract error counts
"warning_count": r"WARNING: (.*?)", #Extract warning counts
"timestamp": r"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})", #Extract timestamps
"ip_address": r"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", #Extract ip addresses
}
extracted_values = {}
for key, pattern in patterns.items():
match = re.search(pattern, log_data)
if match:
extracted_values[key] = match.group(1).strip() # Extract the matched value and remove whitespace
else:
extracted_values[key] = "Not found"
return extracted_values
if __name__ == '__main__':
# Example usage:
log_file = "example.log" # Replace with your log file path
values = extract_log_values(log_file)
print(values)
Add your comment