Deprecations

Enabling Deprecation Warnings

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

export PYTHONWARNINGS=once
circle-info

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 removedarrow-up-right upstream, it makes sense to deprecate it in Cement.

circle-exclamation

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:

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

circle-exclamation

3.0.8-2

In Cement v3.0.x, the default for App.Meta.framework_loggingarrow-up-right 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