intersystems / intersystems/ipm

Enhance -verbose and -dev flags for deep-trace error capturing

Open
#1,012 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
ObjectScript
Stars
41
Forks
29
Avg merge
23h 54m
Merged PRs (30d)
4

Description

## Enhanced Error Diagnostics and Persistence via `-verbose`

Currently, when the PM encounters an error (such as `` or ``), it is handled by internal `Try/Catch` blocks. While the error is reported to the terminal, it is often **"swallowed"** or summarized.

This leads to a loss of critical diagnostic information:

* **No full stack trace** is available for deep debugging.
* **No persistent log** is created (unlike `npm`, which generates a `.log` file on failure).
* **Application Error Logs** remain empty because the error was caught and suppressed by the IPM logic.

### **Proposed Enhancements**

#### **1. Link `-verbose` to Exception Propagation**

When the `-verbose` (or `-v`) flag is active, IPM should change its error-handling behavior:

* **Auto-Logging:** Instead of just printing a string, it should execute `Do ex.Log()` to force a snapshot into the **System Application Error Log**.

### **Summary of Benefits**

* **Streamlined Debugging:** Developers can see exactly which line of ObjectScript caused the crash without modifying IPM source code.
* **Improved Traceability:** Maintains a history of failed installations and the specific system state at the time of failure.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.