すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ログ記録の有効化

最終更新日:Feb 26, 2024

トラブルシューティングを容易にするために、OSS SDK for Pythonにはログ記録機能があります。 デフォルトでは、ログ記録は無効になっています。

説明

ログ記録は、Python V2.6.X以降のOSS SDKで提供されます。

背景情報

OSS SDK for Pythonが提供するログ記録機能を使用して、OSSでの操作のログを収集できます。 ログ情報は、コンピューターに保存されているログファイルに記録されます。

  • ログ形式: <time><name><level><threadId><message>

  • 降順のログレベル: CRITICAL、ERROR、WARNING、INFO、DEBUG、およびNOTSET

    説明

    ログレベルを指定すると、ローカルログファイルには、指定したレベル以上のログのみが記録されます。 たとえば、ログレベルをINFOに設定した場合、ログファイルには、レベルがCRITICAL、ERROR、WARNING、およびINFOのログが記録されます。

使用上の注意

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba CloudサービスからOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSTS (Security Token Service) を使用してOSSClientインスタンスを作成する場合は、「初期化」をご参照ください。

ログ記録の有効化

次のサンプルコードは、ログ記録を有効にする方法の例を示しています。

# -*-コーディング: utf-8 -*-

osのインポート
インポートロギング
oss2のインポート
itertools import isliceから
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート

# ログ情報をローカルログファイルにダウンロードし、指定したローカルパスにログファイルを保存します。 
# デフォルトでは、ローカルパスを指定せずにexamplelogfile.logなどのローカルファイル名を指定すると、サンプルプロジェクトが属するプロジェクトのローカルパスにローカルファイルが保存されます。 
log_file_path = "D :\\ localpath\\examplelogfile.log"

# ログ記録を有効にします。 
oss2.set_file_logger(log_file_path, 'oss2', logging.INFO)

# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'examplebucket')

# オブジェクトとディレクトリを横断します。 
isliceのbの場合 (oss2.ObjectIterator(bucket) 、10):
    プリント (b. キー)
# オブジェクトのメタデータを照会します。 
# オブジェクトのフルパスを指定します。 例: exampledir/exampleobject.txt。 バケット名をフルパスに含めないでください。 
object_meta = bucket.get_object_meta('exampledir/exampleobject.txt ') 

ログの例:

説明

より詳細な情報を提供するログを取得するには、ログレベルをDEBUGに変更します。

2018-11-20 16:37:46、437 oss2.api [情報] 26716: 例外: {
    'status': 404, 
    'x-oss-request-id': '5BF3C7DA236B3A201CE64679', 
    'details': {
        'HostId ': 'examplebucket .oss-cn-shenzhen.aliyuncs.com' 、 
        'Message': 'The specified key does not exist.', 
        'Code': 'NoSuchKey', 
        'RequestId': '5BF3C7DA236B3A201CE64679', 
        'Key': 'exampledir/exampleobject.txt'
    }
}

ログ情報は、バケットが初期化されると、バケット内のすべてのオブジェクトがトラバースされることを示します。 要求されたオブジェクトが存在しない場合、NoSuchKeyエラーが発生します。