#from distutils.debug import DEBUG
#from distutils.log import ERROR,
from logging import getLogger, FileHandler, StreamHandler
from logging import Formatter
from logging import DEBUG, INFO, WARNING, ERROR, CRITICAL
# ロガー フォーマッターのオブジェクトを作成する
logger = getLogger(__name__) # ログの出力を命令するオブジェクト
formatter = Formatter('[%(levelname)s] %(asctime)s - %(message)s (%(filename)s)')
# ハンドラーのオブジェクトを作成する
#handler = StreamHandler() # どうやってログの出力をするか操作するオブジェクト、出力実行部分、Pythonの標準出力
handler = FileHandler('log_all.txt') # ファイルにロギングする
handler.setLevel(DEBUG) # ログのレベルの設定 デバッグモード
handler.setFormatter(formatter) # フォーマッターをハンドラーにセットする
error_handler = FileHandler('log_error.txt') # ファイルにロギングする
error_handler.setLevel(ERROR) # ログのレベルの設定 エラーモード
error_handler.setFormatter(formatter) # フォーマッターをエラーハンドラーに設置する
# ロガーのログのレベルの設定 デバッグモード
logger.setLevel(DEBUG)
# ロガーにハンドラーを追加
logger.addHandler(handler)
logger.addHandler(error_handler)
logger.debug('ここはデバッグログが入る')
logger.info('ここにインフォログが入る')
logger.warning('ここにワーニングログが入る')
logger.error('ここにエラーログが入る')
#logger.critical('ここにクリティカルログが入る')
""" ログレベル
1.DEBUG -> debug() :開発中 動きが正しいかの確認 一番低いレベルなので、すべてのログが出力される
2.INFO -> info() :正常な動きをしている情報
3.WARNING -> warning() :想定外のこと、問題が起きるかもしれないという警告
4.ERROR -> error() :問題が起きた
5.CRITICAL -> critivcal() :とても重大な問題が発生
logger.error('XXXXX) -> ログレベルがエラー以上のとき出力されるメッセージ
"""
"""ハンドラーを2つ作ってみる
"""