コンテキスト内のAPMログは、ログをアプリ、ホスト、およびその他のエンティティのすべてのテレメトリデータに接続します。このすべてのデータを1つのツールにまとめることで、次のことが可能になります。
- タイムクリティカルな問題のトラブルシューティングを行うときに、何千ものログのノイズをカットして、最も関連性の高いログのみが自動的に表示されるようにします。
- 複数のタイプのテレメトリデータ内をナビゲートし、データを元の問題に関連付けます。
- UIの同じ場所から、より詳細な情報に簡単にドリルダウンできます。
- 問題を特定して解決するために必要なログ行を見つけます。
例を含む詳細については、コンテキストでAPMログを開始する方法を学習してください。
コンテキストオプションの自動ログ
サポートされているフレームワークを使用している場合、アプリのログを送信するコンテキストでAPMログを構成し、メタデータをNewRelicに自動的にリンクする2つのオプションがあります。コンテキストでの自動ログでサポートされるフレームワークは次のとおりです。
- Log4j22.6以降
- ログバック1.1以降
重要
エージェントリリース7.7.0以降では、デフォルトでエージェント設定ファイルでこの機能が有効になっています。
エージェントログ転送により、サポートされているフレームワークが検出されたときにデータの消費量が増加します。量は、アプリケーションとそれが生成するログの量によって異なります。この機能は無効にできます。オプションの詳細については、自動ログの無効化を参照してください。
すでにログ転送ソリューションを導入している場合は、この機能を無効にする必要があります。
別のログフレームワークを使用している場合は、手動のログインコンテキストソリューションが適している可能性があります。
これは最も単純なアプローチであり、ログフォワーダーの設定にアクセスしたり関心を持ったりしていない開発者や、アプリのコンテキストでログやその他のリンクメタデータの機能を確認したいアカウントに最適です。多くのオーバーヘッド。
このオプションを使用すると、ログにspan.id
、 trace.id
、 hostname
、 entity.guid
、およびentity.name
が含まれます。これらの属性は、ログをスパン、トレース、およびその他のテレメトリに自動的にリンクし、トラブルシューティングを容易にします。
この機能はデフォルトで有効になっています。
ログ転送機能を備えたエージェントバージョン( Javaエージェント7.6.0以降)をインストールし、設定を更新して転送を有効にするだけです。
構成ファイル( newrelic.yml
)、共通スタンザの下に2つのスペースをインデントします。
application_logging: enabled: true forwarding: enabled: true max_samples_stored: 10000 local_decorating: enabled: false
環境変数:
NEW_RELIC_APPLICATION_LOGGING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000NEW_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
オプションの調整(max_samples_stored):
この機能を有効にすると、1分ごとにNewRelicに送信されるログ行の最大数も制御できます。デフォルト値は10,000です。エージェントが60秒のウィンドウで10,000を超えるログ行を確認すると、ログのサンプリングが開始されます。
より多くのログを受信するには、より大きな数値に設定します。受け取るログの数を減らすには、数値を小さく設定します。負でない整数はすべて有効です。
ヒント
これは、 1分あたりに送信されるログの数を指します。max_samples_stored
を12未満の値に設定すると、ログが送信されないという効果があります。
構成ファイル( newrelic.yml
):
application_logging:
enabled: true
forwarding:
enabled: true
max_samples_stored: 10000
local_decorating:
enabled: false
環境変数:
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
重要
既存のログ転送ソリューションがあり、コンテキストで自動ログを使用するようにエージェントを更新している場合は、手動ログ転送を必ず無効にしてください。それ以外の場合、アプリは二重のログ行を送信します。アカウントによっては、これにより二重請求が発生する可能性があります。詳細については、手順に従って特定のログフォワーダーを無効にしてください。
あなたが好きなログフォワーダーをすでに持っていますか?私たちはあなたをカバーしています!Javaエージェントは、自動ログインコンテキスト機能へのアクセスを提供するために必要なリンクメタデータでログを装飾でき、手動ログフォワーダーを使用してそれらをNewRelicに送信できます。
ヒント
このオプションは、コンテキストデコレータの手動ログを置き換えます。
重要
このオプションは、エージェント内転送では使用しないでください。エージェント内転送が有効になっているときに外部ログフォワーダーを使用してログをNewRelicに送信すると、ログがNewRelicに2回送信されます。アカウントによっては、二重請求が発生する場合があります。
エージェントの構成を更新してログ転送を無効にし、ローカルデコレーションを有効にしてから、エージェントを再起動してログのデコレーションを開始します。
構成ファイル( newrelic.yml
)、共通スタンザの下に2つのスペースをインデントします。
application_logging: enabled: true local_decorating: enabled: true forwarding: enabled: false
環境変数:
NEW_RELIC_APPLICATION_LOGGING_ENABLED=trueNEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=trueNEW_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}|
ログがトランザクションの外部で発生した場合、またはアプリケーションのコンテキストに適用できない場合、一部の属性は空になる可能性があります。
データを保護する
ログには、HIPAAまたはその他のコンプライアンスプロトコルによって保護されている機密情報が含まれている場合があります。デフォルトでは、クレジットカードや社会保障番号などのアイテムのように見える番号パターンを難読化しますが、追加情報をハッシュまたはマスクする必要がある場合があります。
詳細については、難読化の式とルールに関するドキュメントを参照してください。 New Relic UIを使用するか、GraphQL APIであるNerdGraphを使用して、ログデータをハッシュまたはマスクできます。
データを調べる
ログデータを最大限に活用するには:
- [ APMの概要]ページで、 Webトランザクションのタイムチャートをクリックして、特定の時点に関連付けられたログを表示します。
- エラーに関連するログを表示するには、アプリの[エラー]受信ボックスを確認してください。
- 分散トレースを使用して、個々のトレースに関連付けられているログを確認します。
- Logs UIを使用して、プラットフォーム全体でより多くのログデータを探索します。
- ログ出力と重大度に基づいてアラートを設定します。
- ログデータ専用のUIを使用してデータをクエリし、結果を含むダッシュボードを作成します。
トラブルシューティングのヒント
通常、コンテキストでAPMログを有効にした後、ログは1分以内に表示され始めます。アプリのトリアージ>ログセクションを確認します。また、そこでエラーに関連するログパターンが表示されるようになります。
エラーまたはトレースのログが表示されない場合は、アプリにログがない可能性があります。 UIページを更新するか、選択した期間を変更してみてください。
自動ロギングを無効にする
APMログインコンテキストは、APMエージェントログデータを自動的に転送し、デフォルトで有効になっています。これは、セキュリティ、コンプライアンス、請求、またはシステムパフォーマンスに悪影響を与える可能性があります。詳細について、またはデフォルト設定を調整する必要がある場合は、手順に従って自動ロギングを無効にしてください。
コンテキストオプションの手動ログ
言語エージェントがログを転送および装飾できるようになる前は、手動ソリューションを使用してリンクメタデータを送信できました。
このオプションは引き続きサポートされていますが、推奨されなくなりました。また、この方法では、コンテキストでログを有効にする前に、ログフォワーダーをインストールする必要があります。ログフォワーダーがない場合は、NewRelicUIでインフラストラクチャエージェントを使用するように求められます。
既存のログ転送ソリューションを使用することにし、後でエージェントを更新してコンテキストで自動ログを使用することにした場合は、必ず手動ログ転送を無効にしてください。それ以外の場合、アプリは二重のログ行を送信します。アカウントによっては、これにより二重請求が発生する可能性があります。詳細については、手順に従って特定のログフォワーダーを無効にしてください。
手動プロセスを使用してJavaのコンテキストでログを設定する必要がある場合は、次の手順に従います。
- NewRelicでのロギングをすでに設定していることを確認してください。これには、アプリケーションログを収集し、NewRelicに転送されるメタデータを拡張するサポートされているログフォワーダーの構成が含まれます。
- 最新のJavaエージェントバージョンをインストールまたは更新します。コンテキスト内のログには、 Javaエージェントバージョン5.6.0以降を使用してください。
- JVM引数
-javaagent
を有効にし、分散トレースを有効にします。 - 必要に応じて次の拡張機能のいずれかを使用して、Javaのコンテキストでログを構成し、ログデータを強化します。SpringまたはSpringBootを使用していて、必要な拡張機能がわからない場合は、 Springのドキュメントを参照してください。
Javaエージェントとのコンテキストでログ用のDropwizard拡張機能を提供します。開始するには、GitHubのコードとサンプルアプリケーションを確認してください。
DropWizard拡張機能を使用してJavaアプリのコンテキストでログを構成するには:
Dropwizard 1.3以降のパッケージがインストールされ、アプリケーションで動作していることを確認してください。インストールされ、アプリケーションで動作している元のDropwizardアペンダーとロギングファクトリを使用します。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数
-javaagent
が有効になっていることを確認してください。プロジェクトの依存関係を更新して、必要に応じてDropwizard1.3拡張機能を含めます。
Gradle:
build.gradle
ファイルに以下を追加します。dependencies {implementation("com.newrelic.logging:dropwizard:2.0")}Maven:
pom.xml
ファイルに以下を追加します。<dependencies><dependency><groupId>com.newrelic.logging</groupId><artifactId>dropwizard</artifactId><version>2.0</version></dependency></dependencies>Dropwizard
.yaml
構成ファイルをnewrelic-json
レイアウトで更新し、現在使用されているtype: console
またはtype: file
を必要に応じてtype: newrelic-console
またはtype: newrelic-file
に置き換えます。例えば:logging: appenders: - type: newrelic-console # Add the two lines below if you don't have a layout specified on the appender. # If you have a layout, remove all parameters to the layout and set the type. layout: type: newrelic-json
New Relic Dropwizard拡張機能は、標準のDropwizardログを使用する
log-format
レイアウトタイプもサポートしています。テストの目的で、1行の変更でレイアウトのタイプを変更できます。logging:appenders:- type: newrelic-file# This format will be ignored by the newrelic-json layout, but used by the log-format layout.logFormat: "%date{ISO8601} %c %-5p: %m trace.id=%mdc{trace.id} span.id=%mdc{span.id}%n"layout:# type: newrelic-jsontype: log-format
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
ファイルに以下を追加します。dependencies {implementation("com.newrelic.logging:jul:2.0")}Maven:
pom.xml
ファイルに以下を追加します。<dependencies><dependency><groupId>com.newrelic.logging</groupId><artifactId>jul</artifactId><version>2.0</version></dependency></dependencies>ログファイルの
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. NewRelicFormatterNew Relicのログ形式は、トランザクションとログを相互に関連付けるために使用するテレメトリメタデータを使用したJSONです。現在、その形式のカスタマイズはサポートされていません。
完了すると、テキストの代わりにJSONがログに記録されます。JSONは、1行に1つずつ、単一のオブジェクトとしてフォーマットする必要があり、
log.level
やthread.name
などのフィールドを含める必要があります。コンテキスト内のログに必要なtrace.id
は、トランザクション内で発生するログメッセージの値のみを持つ必要があります。
ログインコンテキスト拡張機能を取得する最も直接的な方法は、これらの依存関係をMavenのpom.xml
またはGradleのbuild.gradle
に追加することです。これにより、パッケージツールは正しい依存関係を取得できます。
これらのファイルを編集できない場合は、代わりに、ロギングフレームワークの構成用のアプリケーションclasspath
にjarを直接追加できます。
クラスパスを変更する前に:
- アプリのJavaエージェントでJVM引数
-javaagent
を有効にします。 - アプリケーションが使用しているロギングフレームワークを確認します。
- ロギングフレームワークの構成を変更できることを確認してください。
- 次の3つのjarがまだ存在しない場合は、クラスパスに追加します。通常、MavenCentralで公開されている最新バージョンを使用することをお勧めします。
- グループID
com.newrelic.logging
とアーティファクトID: Mavenでのアプリケーションのロギングフレームワークにちなんで名付けられたアーティファクトを選択します。 - グループID
com.fasterxml.jackson.core
およびアーティファクトID:jackson-core
を使用します。 - グループID
com.newrelic.agent.java
およびアーティファクトID:newrelic-api
を使用します。
ヒント
Java用のコンテキストソリューションで自動ログを利用します。この手動プロセスを使用する必要はありません!
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
ファイルに以下を追加します。dependencies {implementation("com.newrelic.logging:log4j1:2.0")}Maven:
pom.xml
ファイルに以下を追加します。<dependencies><dependency><groupId>com.newrelic.logging</groupId><artifactId>log4j1</artifactId><version>2.0</version></dependency></dependencies>ロギング構成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"/> <!-- only this line needs to be added --> </appender>
NewRelicAsyncAppender
を使用して、NewRelicのログフォワーダーを対象とするすべてのアペンダーをラップします。例えば:<appender name="NewRelicFile" class="com.newrelic.logging.log4j1.NewRelicAsyncAppender"> <appender-ref ref="TypicalFile" /> </appender>
ルートロガーで非同期アペンダーを使用します。例えば:
<root> <appender-ref ref="NewRelicFile" /> </root>
Log4j 1.x拡張機能の構成ファイルの例:
<?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 has been replaced --> <layout class="com.newrelic.logging.log4j1.NewRelicLayout"/> </appender> <!-- this appender was added --> <appender name="NewRelicFile" class="com.newrelic.logging.log4j1.NewRelicAsyncAppender"> <appender-ref ref="TypicalFile" /> </appender> <appender name="TypicalConsole" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> </layout> </appender> <root> <!-- the new appender was used here --> <appender-ref ref="NewRelicFile" /> <appender-ref ref="TypicalConsole" /> </root> </log4j:configuration>
ヒント
Java用のコンテキストソリューションで自動ログを利用します。この手動プロセスを使用する必要はありません!
Javaエージェントとの関連でログ用のLog4j2.x拡張機能を提供します。開始するには、GitHubのコードとサンプルアプリケーションを確認してください。
Log4j 2.x拡張機能を使用してJavaアプリのコンテキストでログを構成するには、次のようにします。
Log4j2.13.2以降またはLogs4j2バインディングパッケージがインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数
-javaagent
が有効になっていることを確認してください。プロジェクトの依存関係を更新して、必要に応じてLog4j2.x拡張機能を含めます。
Gradle:強調表示されたセクションを
build.gradle
ファイルに追加します:dependencies { implementation("com.newrelic.logging:log4j2:2.0") }
Maven:強調表示されたセクションを
pom.xml
ファイルに追加します。<dependencies> <dependency> <groupId>com.newrelic.logging</groupId> <artifactId>log4j2</artifactId> <version>2.0</version> </dependency> </dependencies>
ロギング構成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"> <NewRelicLayout/> </File>
プロパティファイルを使用している場合は、
layout.type
のみを変更してください。appender.console.type = Console appender.console.name = STDOUT appender.console.layout.type = NewRelicLayout
既存のアペンダーのみを変更した場合は、この手順をスキップしてください。新しいアペンダーを追加した場合は、
<Root>
}内に<AppenderRef/>
を追加して、このアペンダーを使用します。ref
属性を使用して、前の手順で作成したアペンダーname
を参照します。例えば:<Root level="info"> <AppenderRef ref="MyFile"/> </Root>
プロパティファイルを使用していて、新しいアペンダーを追加した場合は、次を追加します。
rootLogger.level = info rootLogger.appenderRef.stdout.ref = STDOUT
ヒント
Java用のコンテキストソリューションで自動ログを利用します。この手動プロセスを使用する必要はありません!
Javaエージェントに関連するログのログバック拡張機能を提供します。開始するには、GitHubのコードとサンプルアプリケーションを確認してください。
Logbackを使用してJavaアプリのコンテキストでログを構成するには:
Logbackバージョン1.2.0以降とNewRelicJavaエージェントバージョン5.6.0以降がインストールされ、アプリケーションで動作していることを確認してください。
アプリケーションにNewRelicJavaエージェントバージョン5.6.0以降がインストールされていること、およびJVM引数
-javaagent
が有効になっていることを確認してください。プロジェクトの依存関係を更新して、必要に応じてLogback拡張機能を含めます。
Gradle:強調表示されたセクションを
build.gradle
ファイルに追加します:dependencies { implementation("com.newrelic.logging:logback:2.0") }
Maven:強調表示されたセクションを
pom.xml
ファイルに追加します。<dependencies> <dependency> <groupId>com.newrelic.logging</groupId> <artifactId>logback</artifactId> <version>2.0</version> </dependency> </dependencies>
ロギング構成
xml
を更新して、既存の<encoder>
要素を置き換えます。コンソール(
stdout/stderr
)にログを記録している場合は、ConsoleAppender
を探して置き換えます。<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="com.newrelic.logging.logback.NewRelicEncoder"/></appender>ファイルにログを記録している場合は、
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"/></appender>ロギング設定
xml
をNewRelicAsyncAppender
で更新します。NewRelicAsyncAppender
がNewRelicのログフォワーダーをターゲットとするすべてのアペンダーを確実にラップするようにするには、次のセクションを追加します。"LOG_FILE"
を、前の手順で更新したアペンダーの名前に変更します。<appender name="ASYNC" class="com.newrelic.logging.logback.NewRelicAsyncAppender"><appender-ref ref="LOG_FILE" /></appender>NewRelicAsyncAppender
がロガーで使用される最初のアペンダーであることを確認してください。ルートロガーのアペンダーを、前の手順で作成したASYNC
アペンダーに置き換えます。次に、<root>
リストのNewRelicAsyncAppender
の後に他のアペンダーをリストします。<root><appender-ref ref="ASYNC" /></root>Logback拡張機能の更新されたログ
.xml
ファイルの例を次に示します。GitHubでも実際の例を見ることができます。シングルコンソールアペンダーの例
ロギング拡張情報を追加した後の構成ファイルの例:
<configuration><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><!-- changed the encoder --><encoder class="com.newrelic.logging.logback.NewRelicEncoder"/></appender><!-- added the ASYNC appender --><appender name="ASYNC" class="com.newrelic.logging.logback.NewRelicAsyncAppender"><appender-ref ref="STDOUT" /></appender><root level="debug"><!-- changed the root logger --><appender-ref ref="ASYNC" /></root></configuration>2つのコンソールアペンダーの例
この例では、New Relicのログをファイルに送信しますが、標準のログをコンソールに送信します。
<configuration><appender name="FILE" class="ch.qos.logback.core.FileAppender"><file>myApp.log</file><!-- encoder changed --><encoder class="com.newrelic.logging.logback.NewRelicEncoder"/></appender><!-- this appender does normal console logging --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%msg%n</pattern></encoder></appender><!-- The required New Relic ASYNC appender wraps the FILE appender --><appender name="ASYNC" class="com.newrelic.logging.logback.NewRelicAsyncAppender"><appender-ref ref="FILE" /></appender><root level="debug"><!-- ASYNC is one of the main appenders --><appender-ref ref="ASYNC" /><!-- Send every message to normal console logging, as well. --><appender-ref ref="STDOUT" /></root></configuration>
SpringおよびSpringBootの現在のバージョンの拡張機能を提供しています。ロギングライブラリをすでに知っている場合は、そのドキュメントに直接スキップできます。
拡張機能は、SpringBoot2.0以降でのみデフォルト構成をサポートします。
スプリングブーツ付き:
使用しているロギングライブラリを判別するためのヒントは次のとおりです。
依存関係に
spring-boot-starter-log4j2
がある場合は、 log4j2.xを使用しています。基本的な構成についてはSpringBootlog4j 2.xのドキュメントを、構成のカスタマイズについてはNew Reliclog4j2拡張機能を参照してください。Spring Bootを使用しているが
starter-log4j2
を使用していない場合は、デフォルトでログバックを使用しています。基本的な設定についてはSpringBootログバックのドキュメントを、設定のカスタマイズについてはNewRelicログバック拡張機能を参照してください。Springあり(Spring Bootではない):
春5以降:
Springは、他のロギングライブラリへのブリッジを実装して、それらを自動的に検出します。ただし、これらの個々のライブラリを構成し、プロジェクトの依存関係に明示的に含める必要があります。
ロギングの依存関係を特定するには、 Gradle 、 Maven 、またはその他のビルドツールの依存関係ツリーを参照してください。次に、手順に従って、その拡張子を持つJavaアプリのコンテキストでログを構成します。
春4以下:
Springバージョン4以前では、ブリッジにApacheCommonsLoggingを使用しています。ブリッジの構成については、 Springのドキュメントを参照してください。