問題タブ [log4j2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
7134 参照

configuration - Log4j2の構成パス

プロジェクトにLog4j2を採用しようとしています。私のJavaアプリケーションはJARファイルでパケット化されているので。「log4j2.xml」構成をJARファイル内にパッケージ化したくありません。「 http://logging.apache.org/log4j/2.x/manual/configuration.html」から構成ファイルがどのように機能するかを学習しようとしています。

しかし、Log4j2の構成ファイルのパスを変更することに関する明確な指示はないようです。

このトピックについてグーグルした後、「実行可能JAR内のlog4j構成ファイルを参照する」のようなものを見つけました。しかし、「 http://logging.apache.org/log4j/2」によると、このソリューションはもう利用できません。.x / manual / migration.html "(正しく理解している場合)。

だから私は誰かがこの問題について何か考えを持っているかどうか疑問に思っています。

ありがとう

0 投票する
1 に答える
1583 参照

java - SBTはscalaとjavaの違いを実行しますか?

SBT0.12.1プロジェクトのlog4j2構成チュートリアルに従おうとしています。これが私のbuild.sbtです:

私は2つの別々のメインクラスを持っています。logtest.ScalaTest1つ目はsrc/main / scala / logtest / ScalaTest.scalaにあります:

2番目はlogtest.JavaTestsrc /main / java / logtest / JavaTest.javaにあります:

logtest.ScalaTest.main() sbt内から実行すると、 src / main / resources / log4j2.xmlがルートロギングレベルをトレースに設定することを前提として、期待していた出力が得られます。

ただし、 logtest.JavaTest.main()sbt内から実行すると、異なる出力が得られます

私の知る限り、これERROR StatusLogger Unable to ...は通常、log4j-coreがクラスパスにないことを示しています。TRACEメッセージがないことは、log4j2.xml設定もクラスパスにないことを示しているようです。Foo.mainとLoggerTest.mainを実行している場合、クラスパスに違いがあるのはなぜですか?または、この動作を引き起こす他の何かがありますか?

アップデート

SBTアセンブリを使用してこのプロジェクトのファットjarを構築し、logtest.JavaTestをメインクラスとして指定しました。コマンドラインから実行すると、正しい結果が得られました。

GitHubの例

Edmondo1984の提案に従って、完全な例をまとめてgithubに掲載しました。

0 投票する
1 に答える
1504 参照

xml - Ubuntu でデフォルトの log4j2 構成ファイルを指定する方法

ログにlog4j2を使用していますが、エラーメッセージのみが表示されます。これはデフォルトの構成だと思います。私は次のように作成log4j2.xmlしました:

ファイル内のCLASSPATH変数にそのパスを記載しました。~/.bashrcしかし、まだこの XML ファイルを選択していません。実行時にのみ構成ファイルについて言及する必要がありますか。~/.bashrcファイルの内容:

0 投票する
1 に答える
4972 参照

hibernate - Log4j2 ログの休止状態パラメーターのバインド

log4j2で休止状態のSQLパラメータをログに記録する方法の例はありますか? log4j 1.x でそれらをログに記録する方法は知っていますが、log4j の 2.0 ベータ 3 バージョン (これまでの最後のバージョン) ではこれを行うことができませんでした。

ありがとう。

0 投票する
3 に答える
12017 参照

java - Log4J2-単体テストでログインを無効にする方法は?

ロギング用のアプリケーションでLog4Jv2.0Beta3を使用していますが、単体テストを実行するとログメッセージが生成されます。ログレベルをCRITICALのようなものに設定する方法についてAPIを確認しましたが、ロガー構成を変更する方法が見つかりませんでした。

実際、私はlog4j2Webサイトでこれを読みました。

Log4j 1.xとは異なり、パブリックLog4j 2 APIは、アペンダーとフィルターを追加、変更、削除したり、構成を操作したりするためのメソッドを公開しないことに注意してください。

そうは言っても。単体テスト内からロギングを無効にする正しい方法は何ですか?

0 投票する
1 に答える
652 参照

java - Log4j2 - JDBC Appender の設定方法は?

log4j v2 で JDBC アペンダーを構成することは可能ですか?


log4j v1.2.9で問題はありませんでしたが、log4j2のドキュメントにはこれに関する情報が見つかりませんでした。誰か助けてくれませんか?

0 投票する
1 に答える
2537 参照

java - Log4j2自動構成

log4j2.xmlの自動構成を正しく適用するのに問題があり、フォルダーの配置と関係があると思います。
私はmavenを使用してlog4j2ライブラリを追加し、プロジェクトを次のように配置しています。-
システムのサーバー側とクライアント側で使用されるすべての「共通」クラスを含む1つのプロジェクト。
-別の「コア」プロジェクト-サーバー側アプリケーション。
両方のプロジェクトは、同じ一般的なパッケージ階層(com.foo.specific.packageなど)を使用します

Common Projectでは、ロガーラッパーを定義します。

さらに、Commonプロジェクトには、META-INFの下にlog4j2.xmlファイルが含まれています(Hibernateで使用するためのpersistence.xmlファイルと一緒に)。

Coreプロジェクトでサンプルコードを実行している間(私が作成したLogWrapperといくつかのJPAブードゥーを使用)、INFO休止状態ログを表示でき、ログファイルは作成されませんでした。コードのデバッグ中に、フェッチされたロガーに奇妙な値「com.foo.core.persistence.PersistenceXMLTest:ERRORinsun.misc.Launcher$AppClassLoader@2f600492」が指定されていることがわかりました。

0 投票する
1 に答える
22114 参照

java - log4j2 ローリングファイルアペンダーを作成しようとするとエラーが発生する

log4j2 を使用して FileAppender から RollingFileAppender に切り替えようとしています (beta3 と beta4 jar の両方で発生します)。

私はそれを次のように構成しました:

コードでは、この方法でロガーを取得しようとしています:

しかし、実行すると次の例外が発生します。

構成ファイルが読み取られ、アペンダーが作成されようとしているように見えますが、何が間違っているのかわかりません。

他の人の RollingFileAppender 構成を変更せずにカット アンド ペーストしようとしましたが、それでも上記のエラーが発生します。

ありがとう。

0 投票する
12 に答える
42003 参照

java - log4j2-構成の問題

ログを報告するようにlog4j2.0を構成しようとしています。

私の設定はlog4j2.xmlとして保存され、これがその内容です。

プロジェクトのクラスパスに存在し、他の多くのディレクトリに配置してみました。

私は次のようなコードでロガーを作成しました:

そして、何も書き込まれず、ファイルも作成されません。コードをデバッグすると、ロガーがデフォルトのロガー(コンソール)であることがわかります。

0 投票する
2 に答える
15050 参照

eclipse - クラスパス上にないリソースフォルダ

私が抱えていた問題についての私の以前の質問は、 Mavenが正しく機能しない原因となる答えを思い付くために多くのファイルパスを変更することにつながりました(どうやらMavenはサブソースフォルダーが好きではありません)。Mavenの標準ディレクトリレイアウト
に準拠するようにプロジェクトフォルダーを変更し、log4j2.xmlをsrc / main / resources / META-INFの下に配置すると、問題が返されました。 何らかの理由で、日食のフォルダがクラスパスにありません。

どうすればそれを機能させることができますか?

編集:
プロジェクトのビルドとパッケージを管理するために最新のm2eを使用しています。
プロジェクト(現在)は、いくつかのサブプロジェクトで構成されています。
親pomは、さまざまなモジュールとJavaのコンパイラバージョンを定義します。META-INFフォルダーを含むモジュールのpomは、いくつかの依存関係を示していますが、それ以上のものはありません。