PR

AWS Glueジョブでのログ出力方法

記事内に広告が含まれています。

Glueジョブでログを出力する方法はいくつかありますが、今回は以下の3つの方法について記載します。

ログ出力方法
  • glueContext.get_logger()
  • Python 標準の logging
  • print()
■■■スポンサーリンク■■■

glueContext.get_logger()によるログ出力

この方法はSpark ETLでおすすめです。

from pyspark.context import SparkContext
from awsglue.context import GlueContext

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
# spark.sparkContext.setLogLevel('WARN')  # ログレベルのフィルター
logger = glueContext.get_logger()

logger.info('■■■ glueContext: 情報 ■■■')
logger.warn('■■■ glueContext: 警告 ■■■')
logger.error('■■■ glueContext: エラー ■■■')

以下にログが出力されます。

ロググループ:/aws-glue/jobs/error
ログストリーム:ドライバのログストリーム(以下画像赤枠の短い名称のやつ)

glueContextのログストリーム

↓出力結果

INFO	2026-01-02T01:25:58,981	20409	com.amazonaws.services.glue.log.GlueLogger	[Thread-10]	8	■■■ glueContext: 情報 ■■■
WARN	2026-01-02T01:25:58,981	20409	com.amazonaws.services.glue.log.GlueLogger	[Thread-10]	6	■■■ glueContext: 警告 ■■■
ERROR	2026-01-02T01:25:58,982	20410	com.amazonaws.services.glue.log.GlueLogger	[Thread-10]	7	■■■ glueContext: エラー ■■■

Python 標準の loggingによるログ出力

この方法はPython Shellでおすすめです。

import logging

logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
logger = logging.getLogger(__name__)

logger.info('■■■ logging: 情報 ■■■')
logger.warn('■■■ logging: 警告 ■■■')
logger.error('■■■ logging: エラー ■■■')

以下にログが出力されます。

ロググループ:/aws-glue/jobs/output

↓出力結果(指定したフォーマットで出力されます)

2026-01-02 02:15:23,705 INFO ■■■ logging: 情報 ■■■
2026-01-02 02:15:23,705 WARNING ■■■ logging: 警告 ■■■
2026-01-02 02:15:23,705 ERROR ■■■ logging: エラー ■■■

print()によるログ出力

デバッグなどのちょっとした出力確認におすすめです。

print('■■■ print: 情報 ■■■')
print('■■■ print: 警告 ■■■')
print('■■■ print: エラー ■■■')

以下にログが出力されます。

ロググループ:/aws-glue/jobs/output

↓出力結果(時刻などの情報は出力されません。print関数に渡した内容だけが出力されます。)

■■■ print: 情報 ■■■
■■■ print: 警告 ■■■
■■■ print: エラー ■■■

まとめ

Glueジョブでのログ出力方法を3つ紹介しました。

実業務でもログを出力しておらず、エラーの原因調査が大変だったことが何度かあったので、きちんとログ出力することをおすすめします。

コメント

タイトルとURLをコピーしました