> On 30 Mar 2022, at 16:11, Edward Spencer <tedpfspen...@gmail.com> wrote: > > 在 2021年9月3日星期五 UTC+1 18:50:51,<Barry> 写道: >>>> On 2 Sep 2021, at 23:38, Dieter Maurer <die...@handshake.de> wrote: >>> >>> Edward Spencer wrote at 2021-9-2 10:02 -0700: >>>> Sometimes I like to pass the logging level up to the command line params >>>> so my user can specific what level of logging they want. However there is >>>> no easy method for pulling the named logging level names. >>>> >>>> Looking into the code, it would actually be incredibly easy to implement; >>>> >>>> in `logging.__init__.py`; >>>> >>>> def listLevelNames(): >>>> return _nameToLevel.keys() >>>> >>>> You could obviously add some other features, like listing only the >>>> defaults, sorted by numerical level or alphabetically, etc. But really >>>> this basic implementation would be enough to expose the internal variables >>>> which shouldn't be accessed because they change (and in fact, between >>>> python 2 and 3, they did). >>>> >>>> Any thoughts? >>> >>> Usually, you use 5 well known log levels: "DEBUG", "INFO", "WARNING", >>> "ERROR" and "CRITICAL". >>> No need to provide a special function listing those levels. >> I add my own levels, but then I know I did it. >> >> Barry >> >>> >>> >>> >>> -- >>> Dieter >>> -- >>> https://mail.python.org/mailman/listinfo/python-list >>> > > Yes, the names are already well defined. But every software project anyone > has that needs to use logging then has to define that list, which is a waste > of time since they're already defined inside the logging repo. But no-one can > access them unless they use protected variables. If it's a case of not > wanting users to be able to modify the defaults, then just define that list > of log levels as a tuple. Hiding it is unnecessary.
Is logging.getLevelNamesMapping() what you are looking for? Barry > -- > https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list