Deprecations

Enabling Deprecation Warnings

Deprecation warnings are handled by the same warning system as Python using the warnings library. To enable warning, set the PYTHONWARNINGS environment variable.

export PYTHONWARNINGS=once

Python warnings should always be enabled for unit tests. Pytest, the default testing framework for Cement generated projects, enables this by default.

Cement v3.0.10

3.0.10-1

The logging facility FATAL is being deprecated in favor of CRITICAL. This follows the standard library upstream:

Though the FATAL facility may never be fully removed upstream, it makes sense to deprecate it in Cement.

Developers should modify their apps to use critical:

app.log.set_level('CRITICAL')
app.log.critical('Some log message')

Cement v3.0.8

3.0.8-1

The environment variable CEMENT_FRAMEWORK_LOGGING is being deprecated in favor of CEMENT_LOG.

Related:

Usage:

export CEMENT_LOG=1

myapp {command, options, etc}

Setting CEMENT_LOG=1 will set App.Meta.framework_logging = True.

3.0.8-2

In Cement v3.0.x, the default for App.Meta.framework_logging is True, however framework logging is only triggered if the --debug option is passed at the command-line. The --debug option was previously hard-coded, but is now configurable and therefore should no longer be used to toggle framework logging.

In Cement 3.2.0, the logic of App.Meta.framework_logging will be repurposed, or removed. The plan, currently, is that --debug will only toggle the logging level and App.Meta.debug but not toggle Cement framework logging. One thought is that App.Meta.framework_logging could trigger framework/extensions to use the App logger, once it is available (instead of MinimalLogger everywhere).

As of 3.0.8, you can use CEMENT_LOG=1 (environment variable) instead of --debug for the same functionality.

FIXME: Exact details to be determined.

Related:

Last updated