Logger#

Origen’s logger provides user-facing output, diagnostic verbosity, keyword filters, and optional log files. Use it instead of print for application and plugin diagnostics so CLI verbosity works consistently.

Basic Logging#

The logger is available as both origen.logger and origen.log:

import origen

origen.log.info("Loading device model")
origen.log.warning("Using fallback calibration")
origen.log.error("Generation could not continue")

Use display-oriented methods for messages that should always be shown to the user and diagnostic levels for implementation details.

Verbosity#

Increase terminal verbosity with repeated -v options:

$ origen -v generate pattern.py
$ origen -vv generate pattern.py

Do not make correctness depend on verbosity. It controls reporting only.

Keyword Filtering#

Verbose listeners can be filtered with verbosity keywords:

$ origen --verbosity_keywords timing generate pattern.py

Use stable, documented keywords for noisy subsystems such as timing, model loading, or program generation.

Errors And Exceptions#

Logging an error does not necessarily stop execution. Raise an exception or return a failed outcome when a command cannot complete. CLI entry points must propagate a nonzero exit status to CI.

Sensitive Data#

Never log passwords, tokens, private keys, or complete credential-bearing URLs. Verbose and debug logs are still persistent artifacts and should be treated as potentially shareable diagnostic data.