How to detect an undefined method?

Manfred Lotz ml_news at posteo.de
Sun Mar 27 05:24:30 EDT 2022


Let's say I have a Python app and have used an undefined method somewhere. Let
us further assume I have not detected it thru my tests.

Is there a way to detect it before deploying the app? pylint doesn't notice it.


Minimal example:

#!/usr/bin/env python3

import logging
from logging import Logger
from random import randrange

def main():
    """
    Below logger.err gives

    'Logger' object has no attribute 'err'
    """

    logger = logging.getLogger('sample')
    logger.setLevel(logging.DEBUG)
    handler = logging.StreamHandler()
    logger.addHandler(handler)

    num = randrange(0,1000)
    if num == 0:
        logger.err("got zero")
    else:
        logger.info(f'got a positive integer: {num}')

if __name__ == "__main__":
    main()



-- 
Manfred


More information about the Python-list mailing list