エディタで、スクリプトを書いていると、 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 件のコメント:
コメントを投稿