目次
?基本的な使用法:サイズごとにログファイルを回転させます
?ログ回転効果の説明
✅より実用的な構成の提案
?追加の指示
ホームページ バックエンド開発 Python チュートリアル Pythonロギング回転ファイルハンドラーの例

Pythonロギング回転ファイルハンドラーの例

Jul 31, 2025 am 08:35 AM
php java プログラミング

回転ファイルハンドラーはサイズごとにログを回転させます。1。最大= 1010241024セット= 1010241024 10MBあたりの回転を達成します。2。バックアップカウント= 7は、7つのバックアップを保持してディスクの充填を防ぐために7つのバックアップを保持します。中程度の中規模プロジェクトであり、ログファイルのサイズと数を効果的に管理できます。

Pythonロギング回転ファイルハンドラーの例

Python loggingモジュールのRotatingFileHandlerを使用した実用的な例を次に示します。これは、ファイルサイズでログを自動的に回転させる必要があるシナリオに適しています。

Pythonロギング回転ファイルハンドラーの例

?基本的な使用法:サイズごとにログファイルを回転させます

RotatingFileHandler 、ログファイルが指定されたサイズに到達した後に自動的に新しいファイルを作成でき、単一のログファイルが大きすぎることを避けます。

ロギングをインポートします
Logging.HandlersからRotatingFileHandlerをインポートします

#ロガーを作成します
logger = logging.getLogger( 'my_logger')
logger.setlevel(logging.info)

#ハンドラーのファイルパスを定義し、log_file = 'app.log'を回転させます
ハンドラー=回転ファイルハンドラー(
    log_file、#logファイルパスmaxbytes = 2000、#logファイルあたりの最大2kb(例値)
    backupcount = 5#最大5つのバックアップファイルを維持します)
Handler.setLevel(logging.info)

#log formatter = logging.formatter( '%(asctime)s -%(name)s -%(levelname)s -%(message)s')の設定
Handler.setFormatter(Formatter)

#ロガーにハンドラーを追加します
logger.addhandler(ハンドラー)

#範囲(100)のIのログをいくつか書く:
    logger.info(f'これはログメッセージ番号{i} ')

?ログ回転効果の説明

  • メインログファイル: app.log
  • バックアップファイルの回転: app.log.1app.log.2 、...、 app.log.5
  • app.log 2000バイトを超えると、 app.log.1に自動的に名前が変更され、新しいapp.logを作成して書き続けます。
  • backupCount=5最大5つの古いログファイルが保持され、それらを超えるものが削除されることを意味します。

maxBytesはバイト数、2000バイトはデモンストレーションにのみ使用され、実際には1024*1024 (1MB)などに設定できます。

Pythonロギング回転ファイルハンドラーの例

✅より実用的な構成の提案

OSをインポートします
ロギングをインポートします
Logging.HandlersからRotatingFileHandlerをインポートします

def setup_logger():
    logger = logging.getLogger( 'my_app')
    logger.setlevel(logging.debug)
    logger.propagate = false#上部ロガーへのログ伝播を防ぐ#ログディレクトリを作成する(存在しない場合)
    log_dir = 'logs'
    os.makedirs(log_dir、sext_ok = true)

    log_file = os.path.join(log_dir、 'app.log')
    ハンドラー=回転ファイルハンドラー(
        log_file、
        maxbytes = 10 * 1024 * 1024、#10 MB
        backupcount = 7、#keep 7 backups encoding = 'utf-8'#指定されたエンコードを推奨)
    Handler.setLevel(logging.info)

    #フォーマット:行番号、関数名、formatter = logging.formatterなどのより詳細な情報が含まれています(
        '%(asctime)s | %(levelname)-8s | %(name)s | %(funcname)s:%(lineno)d | %(メッセージ)s '、
        datefmt = '%y-%m-%d%h:%m:%s'
    ))
    Handler.setFormatter(Formatter)

    logger.addhandler(ハンドラー)
    ロガーを返します

#logger = setup_logger()を使用します
logger.info( "Application Started。")
logger.warning( "これは警告です。")

?追加の指示

  • maxBytes :適切な値を設定する必要があります。小さすぎると頻繁に回転し、大きすぎると肥大化したログファイルが発生する場合があります。
  • backupCount :無制限の成長を避け、ディスクが埋められないようにします。
  • encoding :中国語または特殊文字を処理するときに'utf-8'明示的に指定することをお勧めします。
  • propagate=False :ペアレントロガーによるログが繰り返し出力されるのを防ぎます(特にモジュラープロジェクトで)。

基本的にそれだけです。この構成は、ほとんどの中小規模のプロジェクトに適しており、シンプルで効果的で、複雑ではありませんが、見過ごされがちです。

以上がPythonロギング回転ファイルハンドラーの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Mantianxing ComicsフルバージョンEntann_mantianxingコミック広告スペシャルエディションリンク Mantianxing ComicsフルバージョンEntann_mantianxingコミック広告スペシャルエディションリンク Sep 28, 2025 am 10:30 AM

Mantianxing Comicのフルバージョンはhttps://www.mantianxingmh.comです。このプラットフォームは、情熱、愛、サスペンス、サイエンスフィクションなどのさまざまなテーマをカバーし、豊富なリソースとタイムリーな更新と分類された検索をサポートしています。高解像度の画質、複数のページターニングモード、カスタムバックグラウンドと輝度の調整を提供し、読書体験を最適化するための目の保護モードを備えています。ユーザーは、本棚を作成し、レコードの読み取りを保存し、オフラインをダウンロードし、クロスデバイスの同期の進行状況を達成できます。

時間と空間を移動できるリアルタイムコンピューティングフレームワーク - フリンクの時間の処理 時間と空間を移動できるリアルタイムコンピューティングフレームワーク - フリンクの時間の処理 Sep 28, 2025 am 11:06 AM

フリンクは、ストリーム処理アーキテクチャにとって非常に重要です。 Kafkaはメッセージに持続する能力を与え、データやタイムトラベルを処理する能力はフリンクに依存します。ストリーミング - ビッグデータの将来では、ストリーミング処理にとって最も重要な2つのものは、正確性と時間推論ツールであることを知っています。そして、フリンクは両方を非常に良いサポートしています。フリンクは正確さを保証します。継続的なイベントストリームデータの場合、処理時にイベントが到着しなかったため、データの正しさが影響を受ける可能性があります。現在、一般的な慣行は、正確さを確保するために高レートのオフライン計算を採用していますが、低遅延を犠牲にします。フリンクの正しさは、データ生成に沿った計算ウィンドウの定義に反映されています

PHPでオブジェクト指向プログラミング(OOP)を使用する方法は? PHPでオブジェクト指向プログラミング(OOP)を使用する方法は? Sep 28, 2025 am 03:26 AM

oopinphporgasizeIntoreUsableClassEsandobjects.1.ClassesDefinePropertiesAndMethods、InstantiatedVia $ this.2.constructors(__ construct)initializeObjectProperties.3.AccesSmodifiers(Public、Private、Protected)Controlvisibility.4.Inheritance

PHPを使用してファイルを削除する方法は? PHPを使用してファイルを削除する方法は? Sep 27, 2025 am 06:08 AM

Unlink()関数を使用して、PHPでファイルを削除します。ファイルパスが正しく、サーバーに権限の書き込みがあることを確認する必要があります。削除する前に、ファイルが存在することを確認し、パスが悪意を持って操作されないようにする必要があります。

ファイルをPHPのサーバーにアップロードする方法は? ファイルをPHPのサーバーにアップロードする方法は? Sep 27, 2025 am 04:33 AM

回答:method = "post" and enctype = "multipart/form-data"を使用してHTMLフォームを作成し、$ _FILESを使用してファイルアップロードを処理し、MOVE_UPLOADED_FILE()を介してファイルを保存し、タイプ、サイズ、名前を確認してセキュリティを確保します。

PHPを使用してサーバーからファイルを削除する方法は? PHPを使用してサーバーからファイルを削除する方法は? Sep 27, 2025 am 05:23 AM

todeleteafileinphp、usetheunlink()functionwithproperpathandpermisseChecks.example:$ file = 'uploads/example.txt'; if(f iLe_exists($ file)){if(linnink($ file)){echo "filedeletedsuccessfull。";} else {echo "errordeletingfile。";}} else {echo&quot

PHPでシングルトンクラスを作成する方法は? PHPでシングルトンクラスを作成する方法は? Sep 27, 2025 am 06:18 AM

asingletonclassinphensuresonlyonlyOneinStanceSistsistsistcrivateConstructor、cloninging andunserialization、およびProviding aglovididing agloviding aglablaCesspopeastaticmethodthaturturnturturntherinsingLeinStanceStoredOredOREDINAPRIVATETATITATITY。

PHP mysqlで最後に挿入されたIDを取得するにはどうすればよいですか? PHP mysqlで最後に挿入されたIDを取得するにはどうすればよいですか? Sep 28, 2025 am 05:57 AM

mysqli_insert_id()(手順スタイル)、$ mysqli-> insert_id(オブジェクトスタイル)、または$ pdo-> lastinsertid()()を使用して、最後に挿入されたIDを取得し、同じ接続ですぐに呼び出される必要があります。

See all articles