技術資料

Movable Type システムログ出力ガイド ― MT::App の log メソッドでエラーメッセージを記録する方法

作成日:2025.06.03

Movable Type のシステムログにエラーメッセージや各種情報を出力する方法について、MT::App の log メソッドを利用した具体的な実装例を解説します。ログレベル、クラス、カテゴリを指定することにより、出力内容を柔軟に分類・管理できる仕組みを詳述し、管理画面でのログ確認方法やデータベーステーブルでの確認方法も合わせて説明します。

以前、Movable Type のプラグインなどでエラー画面を出力する方法を Movable Type プラグインで実現するエラー画面・ログイン画面の出力方法 で紹介しました。

今回は、MTのシステムログにエラーメッセージなどを出力する方法について紹介します。

システムログにメッセージを出力する

システムログにメッセージを出力するには、MT::Applog メソッドを利用します。

my $app = shift; # MT::App オブジェクトを取得
my $error_message = 'エラーメッセージ'; # エラーメッセージを指定
$app->log({
    message => $error_message,
    level   => MT::Log::ERROR(), # ログレベルを指定
    class    => 'class_name', # ログのクラスを指定
    category => 'category_name', # カテゴリを指定
});

上記のようなコードで、MTのシステムログにデータを追加できます。

ログレベルの指定

ログレベルは、以下の定数を利用して指定します。

MT::Log::DEBUG()
デバッグレベルのログを出力します。
MT::Log::INFO()
情報レベルのログを出力します。
MT::Log::NOTICE()
通知レベルのログを出力します。
MT::Log::WARNING()
警告レベルのログを出力します。
MT::Log::ERROR()
エラーレベルのログを出力します。
MT::Log::SECURITY()
セキュリティレベルのログを出力します。

上記の定数は、MT::Log モジュールで定義されています。

ログのクラスとカテゴリの指定

ログのクラスとカテゴリは、classcategory のキーを使って指定します。

クラスは、ログの種類を示すもので、一般的には systemplugin などが使用されます。カテゴリは、ログの詳細な分類を示すもので、プラグイン名や機能名などを指定することができます。

例えば、プラグインのエラーログを出力する場合は、以下のように指定します。

my $app = shift; # MT::App オブジェクトを取得
$app->log({
    message => 'プラグインのエラーメッセージ',
    level   => MT::Log::ERROR(),
    class   => 'plugin',
    category => 'SamplePlugin', # プラグイン名を指定
});

このようにすることで、プラグインのエラーメッセージがシステムログに記録され、後で確認することができます。

システムログの確認

システムログは、Movable Type の管理画面から確認できます。管理画面の「システム」メニューから「ツール」⇒「ログ」を選択すると、ログの一覧が表示されます。

MT8.4系ではデフォルトではログレベルやクラスなどの値が出力されませんが、フィルタ機能を利用して、特定のログレベルやクラスのログだけを一覧することは可能です。

また、システムログはデータベースに保存されているため、直接データベースを参照することでも確認できます。mt_log テーブルにログの情報が保存されています。

まとめ

Movable Type のプラグインなどでシステムログにメッセージを出力する方法について紹介しました。MT::Applog メソッドを利用することで、エラーメッセージや情報メッセージをシステムログに記録できます。

ログレベルやクラス、カテゴリを指定することで、ログの詳細な分類が可能です。システムログは管理画面から確認できるほか、データベースを直接参照することでも確認できます。

この記事を書いた人

※上が私です。

奈良市を拠点に、26年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。

これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。

【制作会社・企業様向けサポート】
  • 専任エンジニアのいない企業様に対するシステム面の不安を解消
  • 柔軟な契約形態や短納期での対応により、急なニーズにも迅速にサポート
  • システムの企画段階から運用まで、ワンストップでのサービスを提供

Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。

ぜひ、プロフィールWeb制作会社様向け業務案内一般企業様向け業務案内もご覧くださいね。

Movable Type プラグインで実現するエラー画面・ログイン画面の出力方法

2025.04.10

Movable Typeプラグイン開発において、エラー画面やログイン画面をどのように出力すべきか、その基本手法を具体的なコード例を交えて解説します。MT::App の show_error および show_login メソッドの利用方法や各オプションの効果を理解することで、プラグインにおけるユーザーインターフェースのカスタマイズが容易になります。

Movable Type Perl

Movable Type プラグインによるユーザーアクションメニュー制御 ― condition設定の実践的解法

2025.04.07

Movable Type プラグインを使用したユーザーアクションメニューの制御方法を解説します。特に、config.yamlでの condition 設定の制限とその回避策について、core_user_actions のオーバーライドによる実践的な解決方法を、具体的なコード例とともに紹介します。

Movable Type Perl

Movable Typeプラグイン入門:MT::Author で実現するロール付与の手法

2025.03.26

本記事では、Movable Type のプラグイン開発において、MT::Author オブジェクトを利用したユーザーへのロール付与手法を詳しく解説します。具体的なコード例とともに、ユーザー、ブログ、ロールの各オブジェクトの取得方法や、add_role メソッドを活用したロール付与処理の流れを紹介。実務に直結する実装ポイントを分かりやすく解説しています。

Movable Type Perl

Movable Typeプラグイン入門:MT::Authorを活用した新規ユーザー作成の実例解説

2025.03.21

本記事では、Movable Typeプラグインの実装において、MT::Authorオブジェクトを活用したユーザーの新規作成処理の具体例を解説します。コードサンプルを通して、ユーザーの存在確認から新規作成、各種プロパティの設定手順やログ出力まで、実践的なポイントを詳述しています。

Movable Type Perl

阿部辰也へのお仕事の依頼・お問い合わせ

軽いご相談もお気軽にどうぞ!

個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP