Java APM エージェントを使用すると、 logs in context を取得でき、他の New Relic データのコンテキストでアプリのログを表示できます。 この機能の一般的な情報については、 「APM ログのコンテキスト」を 参照してください。
コンテキストオプションの自動ログ  サポートされているフレームワークを使用している場合、コンテキスト内で APM ログを構成して、アプリのログとリンク メタデータを New Relic に自動的に送信する 2 つのオプションがあります。1 つのオプションは、ログを装飾するログ拡張機能を手動で構成し、それを自分自身に転送することです。もう 1 つのオプションは、Java エージェントがログの装飾と転送を自動的に処理するようにすることです。コンテキスト内の自動ログでサポートされているフレームワークには、次のものがあります。
Log4j1 1.2.17 以降 Log4j2 2.6 以降 ログバック1.1以降 7 月 (java.util.logging)JDK8+ JBoss Logging 1.3.0.Final から 2.x Dropwizard Logging (Logback インストルメンテーション経由で取得、以下の既知の問題を参照) 重要 JBoss ロギング
JBoss Logging は、ローカル装飾機能を JUL 計測に委譲するため、次の 2 つの計測モジュールによって完全に制御できます。
   com.newrelic.instrumentation.java.logging-jdk8 : 
   com.newrelic.instrumentation.jboss.logging : 
重要 Dropwizard のログに関する既知の問題
デフォルトでは、Dropwizard はログ バックエンドに Logback を使用します。また、すべての java.util.logging、Log4j、および Logback による Apache Commons Logging の使用。このルーティング動作により、Java エージェントが Logback の計測に加えて、これらの他のロギング ライブラリのいずれかを計測する場合、重複したログが New Relic に報告される可能性があります。
Dropwizard ログの使用時に重複したログが報告されるのを避けるために、Logback を除くすべてのログ フレームワーク インストルメンテーションを無効にすることをお勧めします。 これは、エージェント構成ファイルのclass_transformerセクションで実行できます。
   com.newrelic.instrumentation.logback-classic-1.2 : 
   com.newrelic.instrumentation.apache-log4j-1 : 
   com.newrelic.instrumentation.apache-log4j-2 : 
   com.newrelic.instrumentation.java.logging-jdk8 : 
   com.newrelic.instrumentation.jboss.logging : 
重要 エージェントリリース7.7.0以降では、デフォルトでエージェント設定ファイルでこの機能が有効になっています。
サポートされているフレームワーク が検出されると、エージェントのログ転送によりデータの消費量が増加します。この量は、アプリケーションとそれが生成するログの量によって異なります。この機能は無効にすることができます。オプションの詳細については、 「自動ログを無効にする」 を参照してください。
すでにログ転送ソリューションを導入している場合は、この機能を無効にする必要があります。
Java エージェントにログを転送させるのではなく、独自のログ フォワーダーを使用したい場合は、トレース コンテキスト メタデータでログを装飾するための コンテキスト ソリューションの手動ログが  適切なソリューションになります。
オプション1(推奨):エージェントにログを転送させます。 これは最も単純なアプローチであり、ログフォワーダーの設定にアクセスしたり関心を持ったりしていない開発者や、アプリのコンテキストでログやその他のリンクメタデータの機能を確認したいアカウントに最適です。多くのオーバーヘッド。
このオプションを使用して、エージェントはspan.id 、 trace.id 、 hostname 、 entity.guid 、およびentity.nameを追加します。ログ転送の制限について学習します。 
この機能はデフォルトで有効になっています。
必要なのは、ログ転送機能を備えたエージェント バージョン ( Java エージェント 7.6.0 以降 ) をインストールすることだけです。転送が無効になっている場合は、次の構成を使用できます。
構成ファイル ( newrelic.yml )、共通セクションの下にスペース 2 つインデントされています。
     max_samples_stored :   10000 
環境変数:
NEW_RELIC_APPLICATION_LOGGING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED = 10000 
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED = false 
システムプロパティ:
-Dnewrelic.config.application_logging.enabled = true 
-Dnewrelic.config.application_logging.forwarding.enabled = true 
-Dnewrelic.config.application_logging.forwarding.max_samples_stored = 10000 
-Dnewrelic.config.application_logging.local_decorating.enabled = false 
Optional adjustments (max_samples_stored): 
この機能を有効にすると、1分ごとにNewRelicに送信されるログ行の最大数も制御できます。デフォルト値は10,000です。エージェントが60秒のウィンドウで10,000を超えるログ行を確認すると、ログのサンプリングが開始されます。
より多くのログを受信するには、より大きな数値に設定します。受け取るログの数を減らすには、数値を小さく設定します。負でない整数はすべて有効です。
ヒント これは、 1分あたり に送信されるログの数を指します。max_samples_storedを12未満の値に設定すると、ログが送信されないという効果があります。
構成ファイル( newrelic.yml ):
     max_samples_stored :   10000 
環境変数:
NEW_RELIC_APPLICATION_LOGGING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED = 10000 
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED = false 
システムプロパティ:
-Dnewrelic.config.application_logging.enabled = true 
-Dnewrelic.config.application_logging.forwarding.enabled = true 
-Dnewrelic.config.application_logging.forwarding.max_samples_stored = 10000 
-Dnewrelic.config.application_logging.local_decorating.enabled = false 
重要 既存のログ転送ソリューションがあり、エージェントをコンテキストで自動ログを使用するように更新する場合は、disable your manual log forwarder にしてください。そうしないと、アプリは二重のログラインを送信します。アカウントによっては、二重請求になる場合があります。詳細については、手順に従い、特定のログフォワーダー を無効にしてください。
オプション2:独自のログフォワーダーを使用します。 あなたが好きなログフォワーダーをすでに持っていますか?私たちはあなたをカバーしています!Javaエージェントは、自動ログインコンテキスト機能へのアクセスを提供するために必要なリンクメタデータでログを装飾でき、手動ログフォワーダーを使用してそれらをNewRelicに送信できます。
重要 このオプションは、エージェント内転送では使用しないでください。エージェント内転送が有効になっているときに外部ログフォワーダー を使用してログをNewRelicに送信すると、ログがNewRelicに2回送信されます。アカウントによっては、二重請求が発生する場合があります。
エージェントの構成を更新してログ転送を無効にし、ローカルデコレーションを有効にしてから、エージェントを再起動してログのデコレーションを開始します。
構成ファイル ( newrelic.yml )、共通セクションの下にスペース 2 つインデントされています。
環境変数:
NEW_RELIC_APPLICATION_LOGGING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED = true 
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED = false 
システムプロパティ:
-Dnewrelic.config.application_logging.enabled = true 
-Dnewrelic.config.application_logging.local_decorating.enabled = true 
-Dnewrelic.config.application_logging.forwarding.enabled = false 
デコレータは、アプリケーションログファイルのすべてのログメッセージに、 entity.guid 、 hostname 、 trace.id 、 span.id 、 entity.nameの5つの属性を追加します。例:
This is my log message. NR-LINKING|{entity.guid}|{hostname}|{trace.id}|{span.id}|{entity.name}| 
ログメッセージが空または空白の場合、出力メッセージも空になります。 例:
NR-LINKING|{entity.guid}|{hostname}|{trace.id}|{span.id}|{entity.name}|. 
出力されるログメッセージは空の文字列になります。
ログがトランザクションの外部で発生した場合、またはアプリケーションのコンテキストに適用できない場合、一部の属性は空になる可能性があります。
このドキュメントはインストールの役に立ちましたか? データを保護する  ログには、HIPAAまたはその他のコンプライアンスプロトコルによって保護されている機密情報が含まれている場合があります。デフォルトでは、クレジットカードや社会保障番号などのアイテムのように見える番号パターンを難読化しますが、追加情報をハッシュまたはマスクする必要がある場合があります。
詳細については、難読化の式とルールに関する ドキュメントを参照してください。 New Relic UIを使用するか、GraphQL APIであるNerdGraphを使用して、ログデータをハッシュまたはマスクできます。
データを調べる  ログデータを最大限に活用するには:
トラブルシューティングのヒント  通常、コンテキストでAPM ログを有効にしてから 1 分以内にログが表示され始めます。 アプリのTriage > Logs セクションを確認してください。 また、そこにエラーに関連するログパターンも 表示され始めます。
エラーまたはトレースのログが表示されない場合は、アプリにログがない可能性があります。 UIページを更新するか、選択した期間 を変更してみてください。
自動ロギングを無効にする  APMログ イン コンテキストは APM エージェント ログ データを自動的に転送し、デフォルトで有効になっています。 これにより、セキュリティ、コンプライアンス、課金、システム パフォーマンスに悪影響が及ぶ可能性があります。 自動ログを無効にするには:
New Relic UI のユーザー メニュー から、 Manage your data > Log settings をクリックします。 アカウントの行の右側にある省略記号... メニューをクリックします。 確認ボタンをクリックして、自動ロギングを有効または無効にしてロックまたはロック解除するか(親アカウント)、有効または無効のみ(子アカウント)にします。 詳細について、またはデフォルト設定を調整する必要がある場合は、自動ログを無効にする 手順に従ってください。
コンテキストオプションの手動ログ  言語エージェントがログを転送および装飾できるようになる前は、手動ソリューションを使用してリンクメタデータを送信できました。
このオプションは引き続きサポートされていますが、おすすめしません。また、この方法では、コンテキストでログを有効にする前に、ログフォワーダーをインストールする必要があります。ログフォワーダーがない場合は、NewRelicUIでインフラストラクチャエージェント を使用するように求められます。
既存のログ転送ソリューションを使用し、後でエージェントを更新してコンテキスト内の自動ログを使用することにした場合は、必ずdisable your manual log forwarder を実行してください。 そうしないと、アプリは二重のログ行を送信することになります。 アカウントによっては、二重請求が発生する可能性があります。 詳細については、特定のログフォワーダー を無効にする手順に従ってください。
手動プロセスを使用してJavaのコンテキストでログを設定する必要がある場合は、次の手順に従います。
NewRelicでのロギングをすでに設定し ていることを確認してください。これには、アプリケーションログを収集し、NewRelicに転送されるメタデータを拡張するサポートされているログフォワーダーの構成が含まれます。最新のJavaエージェントバージョンをインストール または更新 します。コンテキスト内のログには、 Javaエージェントバージョン5.6.0以降 を使用してください。 JVM引数-javaagent を有効にし、分散トレース を有効にします。必要に応じて次の拡張機能のいずれかを使用して、Javaのコンテキストでログを構成し、ログデータを強化します。SpringまたはSpringBootを使用していて、必要な拡張機能がわからない場合は、 Spring のドキュメントを参照してください。 Dropwizard1.3以降 Javaエージェントとのコンテキストでログ用のDropwizard 拡張機能を提供します。開始するには、GitHubのコード とサンプルアプリケーション を確認してください。
DropWizard拡張機能を使用してJavaアプリのコンテキストでログを構成するには:
Dropwizard 1.3以降 のパッケージがインストールされ、アプリケーションで動作していることを確認してください。インストールされ、アプリケーションで動作している元のDropwizardアペンダーとロギングファクトリを使用します。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数-javaagent が有効になっていることを確認してください。
プロジェクトの依存関係を更新して、必要に応じてDropwizard1.3拡張機能を含めます。
Gradle:  build.gradleファイルに以下を追加します。
   implementation ( "com.newrelic.logging:dropwizard:2.0" ) 
Maven:  pom.xmlファイルに以下を追加します。
     < groupId > com.newrelic.logging </ groupId > 
     < artifactId > dropwizard </ artifactId > 
Dropwizard .yaml構成ファイルをnewrelic-jsonレイアウトで更新し、現在使用されているtype: consoleまたはtype: fileを必要に応じてtype: newrelic-consoleまたはtype: newrelic-fileに置き換えます。例えば:
New Relic Dropwizard拡張機能は、標準のDropwizardログを使用するlog-formatレイアウトタイプもサポートしています。テストの目的で、1行の変更でレイアウトのタイプを変更できます。
       logFormat :   "%date{ISO8601} %c %-5p: %m trace.id=%mdc{trace.id} span.id=%mdc{span.id}%n" 
java.util.logging Javaエージェントとのコンテキストでログ用のjava.util.logging 拡張子を提供します。開始するには、GitHubのコード とサンプルアプリケーション を確認してください。
java.util.logging拡張子の付いたJavaアプリのコンテキストでログを構成するには:
java.util.logging パッケージがインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数-javaagent が有効になっていることを確認してください。
プロジェクトの依存関係を更新して、必要に応じてjava.util.logging拡張子を含めます。これらのファイルを編集できない場合は、代わりにjarをアプリケーションclasspathに直接追加 できます。
Gradle:  build.gradleファイルに以下を追加します。
   implementation ( "com.newrelic.logging:jul:2.0" ) 
Maven:  pom.xmlファイルに以下を追加します。
     < groupId > com.newrelic.logging </ groupId > 
     < artifactId > jul </ artifactId > 
ログファイルのhandlersプロパティがNewRelicMemoryHandler以外に設定されているかどうかを確認してください。次のように、ルートロガーのハンドラーを一覧表示する行を探します。
handlers   =   java.util.logging.FileHandler 
ロギングプロパティファイルを更新して、ルートロガーのハンドラーをNewRelicMemoryHandlerに設定し、別のハンドラー宛てのメッセージをインターセプトします。
handlers   =   com.newrelic.logging.jul.NewRelicMemoryHandler 
以前にルートロガーに割り当てられたハンドラーにターゲットを設定してNewRelicMemoryHandlerを構成します。これにより、ログメッセージの送信元のスレッドでNewRelicが必要とするデータがキャプチャされます。
com.newrelic.logging.jul.NewRelicMemoryHandler.target   =   java.util.logging.FileHandler 
最終ハンドラーにはNewRelicFormatterを使用します。次の例のように、ログプロパティファイルを更新してformatterプロパティを設定します。フォーマッタを設定するハンドラが前の手順のtargetハンドラ(この例ではjava.util.logging.FileHandler )であることを確認してください。
java.util.logging.FileHandler.formatter   =   com.newrelic.logging.jul. NewRelicFormatter 
New Relicのログ形式は、トランザクションとログを相互に関連付けるために使用するテレメトリメタデータを使用したJSONです。現在、その形式のカスタマイズはサポートされていません。
完了すると、テキストの代わりにJSONがログに記録されます。JSONは、1行に1つずつ、単一のオブジェクトとしてフォーマットする必要があり、 log.levelやthread.nameなどのフィールドを含める必要があります。コンテキスト内のログに必要なtrace.idは、トランザクション内で発生するログメッセージの値のみを持つ必要があります。
java.util.loggingクラスパスの追加 ログインコンテキスト拡張機能を取得する最も直接的な方法は、これらの依存関係をMavenのpom.xmlまたはGradleのbuild.gradleに追加することです。これにより、パッケージツールは正しい依存関係を取得できます。
これらのファイルを編集できない場合は、代わりに、ロギングフレームワークの構成用のアプリケーションclasspathにjarを直接追加できます。
クラスパスを変更する前に:
アプリのJavaエージェントでJVM引数-javaagent を有効にします。 アプリケーションが使用しているロギングフレームワークを確認します。 ロギングフレームワークの構成を変更できることを確認してください。 次の3つのjarがまだ存在しない場合は、クラスパスに追加します。通常、MavenCentralで公開されている最新バージョンを使用することをお勧めします。 Log4j 1.x Javaエージェントに関連する手動ログ用のLog4j1.x 拡張機能を提供します。開始するには、GitHubのコード とサンプルアプリケーション を確認してください。
Log4j 1.x拡張機能を使用してJavaアプリのコンテキストで手動ログを構成するには、コードまたはXMLを介してLog4j拡張機能を構成する必要があります。AsyncAppenderインスタンスはXMLを介してのみ自動的に構成できるため、プロパティファイルはサポートされていません。
Log4j 1.x パッケージがインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数-javaagent が有効になっていることを確認してください。
プロジェクトの依存関係を更新して、必要に応じてLog4j1.x拡張機能を含めます。
Gradle:  build.gradleファイルに以下を追加します。
   implementation ( "com.newrelic.logging:log4j1:2.0" ) 
Maven:  pom.xmlファイルに以下を追加します。
     < groupId > com.newrelic.logging </ groupId > 
     < artifactId > log4j1 </ artifactId > 
ロギング構成XMLファイルで、 <appender>要素をNewRelicLayoutで更新し、 <layout class="com.newrelic.logging.log4j1.NewRelicLayout"/>を追加します。
< appender   name = " TypicalFile "   class = " org.apache.log4j.FileAppender " > 
   < param   name = " file "   value = " logs/log4j1-app.log " /> 
   < param   name = " append "   value = " false " /> 
   < layout   class = " com.newrelic.logging.log4j1.NewRelicLayout " />   
NewRelicAsyncAppenderを使用して、NewRelicのログフォワーダーを対象とするすべてのアペンダーをラップします。例えば:
< appender   name = " NewRelicFile " 
           class = " com.newrelic.logging.log4j1.NewRelicAsyncAppender " > 
   < appender-ref   ref = " TypicalFile "   /> 
ルートロガーで非同期アペンダーを使用します。例えば:
   < appender-ref   ref = " NewRelicFile "   /> 
Example configuration file for the Log4j 1.x extension: 
<?xml version="1.0" encoding="UTF-8" ?> 
<! DOCTYPE   log4j:configuration   SYSTEM   "log4j.dtd" > 
< log4j: configuration   debug = " false " > 
   < appender   name = " TypicalFile "   class = " org.apache.log4j.FileAppender " > 
     < param   name = " file "   value = " logs/log4j1-app.log " /> 
     < param   name = " append "   value = " false " /> 
     < layout   class = " com.newrelic.logging.log4j1.NewRelicLayout " /> 
   < appender   name = " NewRelicFile " 
             class = " com.newrelic.logging.log4j1.NewRelicAsyncAppender " > 
     < appender-ref   ref = " TypicalFile "   /> 
   < appender   name = " TypicalConsole "   class = " org.apache.log4j.ConsoleAppender " > 
     < layout   class = " org.apache.log4j.PatternLayout " > 
       < param   name = " ConversionPattern "   value = " %-5p %c{1} - %m%n " /> 
     < appender-ref   ref = " NewRelicFile "   /> 
     < appender-ref   ref = " TypicalConsole "   /> 
Log4j 2.x Java エージェントのコンテキストで、ログ用のLog4j 2.x 拡張機能を提供します。 開始するには、GitHub のコード とサンプルアプリケーションを 確認してください。
Log4j 2.x拡張機能を使用してJavaアプリのコンテキストでログを構成するには、次のようにします。
Log4j2.13.2以降 またはLogs4j2バインディング パッケージがインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数-javaagent が有効になっていることを確認してください。
プロジェクトの依存関係を更新して、必要に応じてLog4j2.x拡張機能を含めます。
Gradle:  強調表示されたセクションをbuild.gradleファイルに追加します。
   implementation ( "com.newrelic.logging:log4j2:2.0" ) 
Maven:  強調表示されたセクションをpom.xmlファイルに追加します。
     < groupId > com.newrelic.logging </ groupId > 
     < artifactId > log4j2 </ artifactId > 
ロギング構成XMLファイルで、強調表示されたセクションを追加して<configuration>要素を更新します。
< Configuration   xmlns = " http://logging.apache.org/log4j/2.0/config " 
       packages = " com.newrelic.logging.log4j2 " 
プロパティファイルを使用している場合は、 packages=com.newrelic.logging.log4j2を追加します。
<NewRelicLayout/>を追加して、いずれかのアペンダー内でNewRelicLayout要素を使用します。例えば:
< File   name = " MyFile "   fileName = " logs/app-log-file.log " > 
プロパティファイルを使用している場合は、 layout.typeのみを変更してください。
appender.console.type   =   Console 
appender.console.name   =   STDOUT 
appender.console.layout.type   =   NewRelicLayout 
既存のアペンダーのみを変更した場合は、この手順をスキップしてください。新しいアペンダーを追加した場合は、 <Root> 内に<AppenderRef/>を追加して、このアペンダーを使用します。ref属性を使用して、前の手順で作成したアペンダーnameを参照します。例えば:
   < AppenderRef   ref = " MyFile " /> 
プロパティファイルを使用していて、新しいアペンダーを追加した場合は、次を追加します。
rootLogger.appenderRef.stdout.ref   =   STDOUT 
ログバックバージョン1.2.0以降 Javaエージェントに関連するログのログバック 拡張機能を提供します。開始するには、GitHubのコード とサンプルアプリケーション を確認してください。
Logbackを使用してJavaアプリのコンテキストでログを構成するには:
Logbackバージョン1.2.0以降 とNewRelicJavaエージェントバージョン5.6.0以降がインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数-javaagent が有効になっていることを確認してください。
プロジェクトの依存関係を更新して、必要に応じてLogback拡張機能を含めます。
Gradle:  強調表示されたセクションをbuild.gradleファイルに追加します。
   implementation ( "com.newrelic.logging:logback:2.0" ) 
Maven:  強調表示されたセクションをpom.xmlファイルに追加します。
     < groupId > com.newrelic.logging </ groupId > 
     < artifactId > logback </ artifactId > 
ロギング構成xmlを更新して、既存の<encoder>要素を置き換えます。
コンソール( stdout/stderr )にログを記録している場合は、 ConsoleAppenderを探して置き換えます。
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
  <encoder class="com.newrelic.logging.logback.NewRelicEncoder"/> 
ファイルにログを記録している場合は、 FileAppenderを探して <encoder> を置き換えます。
< appender   name = " LOG_FILE "   class = " ch.qos.logback.core.FileAppender " > 
   < file > logs/app-log-file.log </ file > 
   < encoder   class = " com.newrelic.logging.logback.NewRelicEncoder " /> 
ロギング設定xmlをNewRelicAsyncAppenderで更新します。NewRelicAsyncAppenderがNewRelicのログフォワーダーをターゲットとするすべてのアペンダーを確実にラップするようにするには、次のセクションを追加します。"LOG_FILE"を、前の手順で更新したアペンダーの名前に変更します。
< appender   name = " ASYNC "   class = " com.newrelic.logging.logback.NewRelicAsyncAppender " > 
   < appender-ref   ref = " LOG_FILE "   /> 
NewRelicAsyncAppenderロガーで使用される最初のアペンダーであることを確認してください。 ルート ロガーのアペンダーを、前の手順で作成したASYNCアペンダーに置き換えます。 次に、 <root>リストのNewRelicAsyncAppenderの後に他のアペンダーをリストします。
   < appender-ref   ref = " ASYNC "   /> 
Logback拡張機能の更新されたログ.xmlファイルの例を次に示します。GitHubでも実際の例を 見ることができます。
Single console appender example 
ロギング拡張情報を追加した後の構成ファイルの例:
   < appender   name = " STDOUT "   class = " ch.qos.logback.core.ConsoleAppender " > 
     < encoder   class = " com.newrelic.logging.logback.NewRelicEncoder " /> 
   < appender   name = " ASYNC "   class = " com.newrelic.logging.logback.NewRelicAsyncAppender " > 
     < appender-ref   ref = " STDOUT "   /> 
     < appender-ref   ref = " ASYNC "   /> 
Two console appenders example 
この例では、New Relicのログをファイルに送信しますが、標準のログをコンソールに送信します。
   < appender   name = " FILE "   class = " ch.qos.logback.core.FileAppender " > 
     < encoder   class = " com.newrelic.logging.logback.NewRelicEncoder " /> 
   < appender   name = " STDOUT "   class = " ch.qos.logback.core.ConsoleAppender " > 
       < pattern > %msg%n </ pattern > 
   < appender   name = " ASYNC "   class = " com.newrelic.logging.logback.NewRelicAsyncAppender " > 
     < appender-ref   ref = " FILE "   /> 
     < appender-ref   ref = " ASYNC "   /> 
     < appender-ref   ref = " STDOUT "   /> 
SpringとSpringboot Spring およびSpringBoot の現在のバージョンの拡張機能を提供しています。ロギングライブラリをすでに知っている場合は、そのドキュメントに直接スキップできます。