エディタで、スクリプトを書いていると、 pylint や flake に print は止めようよ、と怒られるので、 少し前から logger を使ってみている。
ログ出力のための print と import logging はやめてほしい - Qiita とか読んでも、良く理解できないおつむなので、 とりあえず、 print を使わないようにと、 なんぞ簡単なやつはないかと探してみたら、 logzero: Python logging made easy — logzero 1.5.0 documentation というのを見つけた。
いろいろ出来ない事や、不適切な部分があるのかもしれないが、 とりあえず、私には十分すぎる。 出力とか、 loglevel とか、 print を使わないで簡単にできるから。
#!~/.pyenv/shims/python
"""Test for logzero."""
import sys
import logging
import logzero
from logzero import logger
# LOG_FORMAT = '%(color)s[%(module)s:%(lineno)3d]%(end_color)s %(message)s'
LOG_FORMAT = '%(color)s[%(module)s.%(funcName)s:%(lineno)3d]%(end_color)s %(message)s'
FORMATTER = logzero.LogFormatter(fmt=LOG_FORMAT)
logzero.setup_default_logger(formatter=FORMATTER)
logzero.logfile("./_logs/t000.log", maxBytes=3e5, backupCount=3)
# logzero.loglevel(logging.DEBUG) # default
logzero.loglevel(logging.INFO)
# logzero.loglevel(logging.WARN)
""" Note
There is an obsolete function warn which is functionally identical to warning.
As warn is deprecated, please do not use it - use warning instead.
https://docs.python.org/3.7/library/logging.html#module-level-functions
"""
# logzero.loglevel(logging.ERROR)
# logzero.loglevel(logging.CRITICAL)
def main():
"""Read viking file for converting to text."""
#
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critical error")
# critical は 白(スコープにないみたい)
return
if __name__ == '__main__':
main()
sys.exit()
0 件のコメント:
コメントを投稿