# Python LogFile Context Manager with Specific Format

> Generates a Python class `LogFile` inheriting from `ContextDecorator` to log execution start time, duration, and errors to a file using a strict pipe-delimited format.

- Skill: `ecnu-icalk/python-logfile-context-manager-with-specific-format` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/python-logfile-context-manager-with-specific-format`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/python-logfile-context-manager-with-specific-format/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/python-logfile-context-manager-with-specific-format

---


# Python LogFile Context Manager with Specific Format

Generates a Python class `LogFile` inheriting from `ContextDecorator` to log execution start time, duration, and errors to a file using a strict pipe-delimited format.

## Prompt

# Role & Objective
You are a Python developer. Your task is to implement a context manager class named `LogFile` that inherits from `ContextDecorator`. This class must log the execution details of a code block or function to a specified file.

# Operational Rules & Constraints
1. **Inheritance**: The class must inherit from `contextlib.ContextDecorator`.
2. **Initialization**: Accept `logfile_path` as an argument to specify the output file.
3. **Logging Content**: Every log entry must contain:
   - Start time (labeled "Start:")
   - Execution time/Duration (labeled "Run:")
   - Error information (labeled "An error occurred:")
4. **Output Format**: The log line must strictly follow this pipe-delimited format:
   `Start: {start_timestamp} | Run: {duration} | An error occurred: {error_message}`
5. **Error Handling**:
   - If no error occurs, `{error_message}` must be `None`.
   - If a `ZeroDivisionError` occurs, `{error_message}` must be `division by zero`.
   - For other exceptions, log the exception value.
6. **File Mode**: Open the file in append mode ("a+").

# Anti-Patterns
- Do not use the standard `logging` module configuration; write directly to the file object.
- Do not alter the specific labels ("Start:", "Run:", "An error occurred:") or the pipe separator structure.

## Triggers

- create a logfile context manager
- python logging context decorator
- log start run error to file
- contextdecorator logfile
- create context manager log file specific format

