Pythonのロギング機能は、プログラムの動作を追跡するための重要なツールです。特に、エラーが発生した場合やデバッグが必要な場合には、ロギングは非常に役立ちます。また、ロギング情報を保存するための専用のフォルダを作成することで、ログ情報の管理が容易になります。
以下に、Pythonでロギングを設定し、ログ情報を保存するためのフォルダを作成する基本的なコードを示します。
import os
import logging
import logging.handlers
_logger = None
def initLogging(isPrinted: bool):
global _logger
_logger = logging.getLogger('App')
_logger.setLevel(logging.INFO)
if os.path.exists('./log') == False:
os.makedirs('./log')
rfh = logging.handlers.RotatingFileHandler(
filename='./log/App.log',
maxBytes=1024*1024,
backupCount=5
)
_logger.addHandler(rfh)
formatter = logging.Formatter('%(asctime)s,%(name)s,%(threadName)s,%(lineno)d,%(levelname)s,%(message)s')
rfh.setFormatter(formatter)
if isPrinted:
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
_logger.addHandler(handler)
handler.setFormatter(formatter)
_logger.info('initLogging fin.')
このコードでは、まずlogging
モジュールをインポートし、ロガーを作成します。次に、os.path.exists
関数を使用してログを保存するためのフォルダ(ここでは./log
)が存在するかどうかを確認します。フォルダが存在しない場合、os.makedirs
関数を使用して新しいフォルダを作成します。
その後、logging.handlers.RotatingFileHandler
を使用して、ログファイルの出力設定を行います。この設定では、ログファイルの名前、1つのログファイルの最大サイズ、およびバックアップとして保持するログファイルの数を指定します。
最後に、ログメッセージのフォーマットを設定し、それをファイルハンドラに適用します。また、ログメッセージをコンソールにも出力する場合は、logging.StreamHandler
を使用してコンソール出力の設定を行います。
以上がPythonでロギングを設定し、ログ情報を保存するためのフォルダを作成する基本的な方法です。この方法を使用すれば、プログラムの動作を詳細に追跡し、必要に応じて適切な対応を行うことができます。