2018年8月6日月曜日

Python で logzero を使ってみる

エディタで、スクリプトを書いていると、 pylintflakeprint は止めようよ、と怒られるので、 少し前から 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 件のコメント:

コメントを投稿

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...