| id | 3b437934-a6a3-4e40-b9a5-5375b8486065 |
| name | Python LogFile Context Manager with Specific Format |
| description | 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. |
| version | 0.1.0 |
| tags | ["python","context-manager","logging","contextdecorator","code-generation"] |
| 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"] |
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
- Inheritance: The class must inherit from
contextlib.ContextDecorator.
- Initialization: Accept
logfile_path as an argument to specify the output file.
- Logging Content: Every log entry must contain:
- Start time (labeled "Start:")
- Execution time/Duration (labeled "Run:")
- Error information (labeled "An error occurred:")
- Output Format: The log line must strictly follow this pipe-delimited format:
Start: {start_timestamp} | Run: {duration} | An error occurred: {error_message}
- 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.
- 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