article

Ben@Amazon avatar image
Ben@Amazon posted

(Javaの)Alexaスキルをデバッグする方法

Alexaスキルを開発する際、コードでログを出力して、デバッグプロセスに活用することをお勧めします。使用するロギングフレームワークは任意に選択できます。Alexa Skills Kitに含まれるサンプルコードでは、SLF4Jロギングフレームワークを使用しています。

開発者は、コンパニオンアプリを使用してエラーを確認できます。また、SLF4Jでは、ERROR、WARN、INFO、DEBUG、TRACEの順で5段階のロギングレベルが提供されています。使用するロギングレベルは、開発者によって変更してかまいません。

Java Resourcesのsrcディレクトリにあるlog4j.propertiesファイルで、ログ出力のレベルを制御できます。たとえば、ベータ環境ではDEBUG以下のレベルを出力し、実運用環境ではERRORまたはWARNレベルのログのみを出力することで、ログファイルのサイズを小さくすることができます。さらに、Javaクラスごとに別のロギングレベルを設定することもできます。

1.log4j.logger.helloworld=debug

2.log4j.rootLogger=warn, tail

3.

4.log4j.appender.tail=org.apache.log4j.ConsoleAppender

5.log4j.appender.tail.File=${catalina.base}/logs/catalina.log

6.log4j.appender.tail.layout=org.apache.log4j.PatternLayout

7.log4j.appender.tail.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

上のlog4j.propertiesファイルの例では、AWS Elastic Beanstalk環境のTomcatログの一部としてログを出力する方法を示しています。

キーワード: ASK, デバッグ, Java, SLF4J

alexa skills kit
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Article

Contributors

Ben@Amazon contributed to this article