問題タブ [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.
java - Java パッケージ Log4J2: MapFilters
MapFilters について簡単な質問があります。ええと、私はマップが何であるかを知っています: 単純なキーと値のペアです。現在、log4j では、いわゆるマップ メッセージをフィルタリングできます ( Web サイトの例):
しかし、これらのメッセージをコードのどこで定義すればよいでしょうか。私は次のように試しました:
しかし、これはこれを処理するための便利な方法ではありません。ちなみに、これは機能しません。
このトピックのより詳細な紹介を知っていますか? ここでは、API はあまり役に立ちません。
皆さんに感謝します!
java - Jetty サーバー上の Log4j2 と Flume
Log4J2 と Flume-ng を使用して、分散システムの集中ログを作成しようとしています。システム内のサーバーの 1 つは、システムの Web サービス (サーブレット) を実行するために使用している Jetty を実行します。このプロジェクトに Log4J2 と Flume-ng の Maven 依存関係を含めると、Jetty が破損し、適切に起動/バインドされません。以下のリスト (log4j-flume-ng) の依存関係を削除すると、Jetty は通常どおり実行され、次の出力が得られます。
しかし、その依存関係があると、次のようになります (Memcached の出力のみ)。
Maven POM の依存関係は次のとおりです。
これを解決する方法がわかりません。Flume を他のサーバーと問題なく動作させることができましたが、Jetty には何もないようです。誰かがこれを機能させるためのアドバイスを提供できますか?
java - Log4j_2 and Socket UDP appender
I'm trying to create a simple UDP server to handle packages from Log4j2 Socket appender but I'm getting a "java.io.StreamCorruptedException: invalid stream header: 7372003E" from the second package received on.
APPENDER:
SNIPPET UDP SERVER:
Any suggestion guys?
java - log4J-2.0-betaを使用する場合のNPE
概要ドキュメントを介してlog4j2をチェックアウトしていますが、log4j2ロガーをセットアップしようとすると次の例外が発生します。
私のテストプログラムは、概要サイトから取得されます。
提供されたすべてのjarファイルをバイナリディストリビューションからビルドパスに追加しました。
私は何が欠けていますか?
java - Log4j2 - 構成
新しいプロジェクトで Log4j2 を採用しようとしていますが、ログを取得catalina.out
し、最初のログは常に:ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger
です。Log4j2のドキュメントに従ってすべてを行ったようですが、それでも.
これが私が実際に行ったことです:
log4j-api-2.0-beta3.jar
私のプロジェクトに追加されました- ファイルを作成
log4j2.xml
し、クラスパス上の場所 (現在は/usr/local/tomcat/home/lib
. - tomcatを再起動しました。
Tomcat 7、MacOS X 10.8、Java 7 を使用しています。
私は何が欠けていますか?
念のため、使用している log4j2.xml を次に示します。
xml - log4j2-ログファイルの数を制限する
次のlog4j2.xmlファイルがあります。
この構成を次のように変更するにはどうすればよいですか?
- 同じログファイルを何度も上書きする代わりに、5MBの制限に達した後に新しいファイルが作成されます。test1.log、test2.logなどがあると便利です。
1.で作成される部分ログファイルの数を制限するにはどうすればよいですか?私が達成したいのは、次のようなスキームです。
/li>
誰かがそのようなことを達成する方法を知っていますか?もちろん、log4j2だけでそのようなことが可能であれば、それは素晴らしいことです。しかし、log4j2を、メインのJavaアプリケーションと一緒に実行し、最後の2つのログファイルをそのままにして余分なログファイルを削除するある種の外部プログラムと組み合わせる方法があるかもしれません。したがって、誰かが少なくとも1.の提案を持っている場合、それはすでに、私が探しているものである可能性があります。第二部のプログラムが書けるかもしれないから。もちろん、2番目の部分がlog4j2でも実行できれば、それは素晴らしいことです。
java - Log4j2 保存ファイル (RollingFile アペンダーを使用)
開発中のシステムにlog4j2でログファイルを作成しようとしています。サイトの指示に従っていますが、実行してもエラーは発生しませんが、ログは設定した場所に保存されません(例: " D:\logs\app.log")。
これが私のlog4j.xmlです
私がしようとしました :
- app.log を削除して、構成 (D:\logs\app.log) が機能するかどうかを確認します。アプリケーションを実行するとapp.logが作成されるので、構成が表示され、Javaアプリケーションで行ったlog.infoを保存していないことが唯一のことだと思います
- root レベルを「TRACE」に変更すると、log.info が出力されます。
[編集:]
クラスパスにこれらのライブラリもあります
- log4j-api-2.0-beta3.jar
- log4j-core-2.0-beta3.jar
RollingFile 構成またはライブラリ (おそらく) で何か不足していますか?
前もって感謝します。
java - TomcatのLog4j2
Tomcat 6を使用していて、JULをLog4j2(2.0ベータ3)に切り替えようとしています。ただし、これはまったく新しいプロジェクトであるため、ドキュメントは非常にまばらで、オンラインのリソースはまだ多くありません。
欲しいもの
- デバッグレベルを超えるすべてのイベントは、ディスク上のファイルに送信される必要があります。
- エラーはに移動する必要があり
syserr
ます。 - 情報から警告まですべてがに行く必要があり
sysout
ます。 - マークされた監査ログは、これをすべてスキップして、ディスク上の別のファイルに移動する必要があります。
私が試したこと
これは私の最初の試みlog4j2.xml
ファイルです:
何を書けばいいconfiguration status
ですか?それに関するいくつかのドキュメントはどこにありますか?
ロガー名はJavaクラスとそのロガーとどのように関連していますか?
コード例:
これを実行すると、コンソールとログファイルに次のように表示されます。
警告が無視されるのはなぜですか?
を削除するとadditivity="false"
、次のようになります。
警告は再び無視され、エラーが繰り返されます(予想どおり)。
私は何が間違っているのですか?
フォールドの下で:Tomcatの残りの部分はJULIを使用できますが、アプリケーションにはLog4j2が必要です。
matlab - Matlab 内から Log4j2 をどのように使用しますか?
Matlab アプリケーションで log4j 1.2 から log4j 2 に切り替えようとしています。
log4j-core-2.0-beta3.jar と log4j-api-2.0-beta3.jar を Matlab Java クラスパスに追加しました。
私のMatlabクラスコンストラクターでは、次のようにします。
しかし、Logger オブジェクトを調べると、次のように表示されます。
構成ファイルが定義されていません。log4jがデフォルトの構成を提供し、コンソールにログを記録することを期待していました(log4j2のドキュメントに従って)
私は何か間違ったことをしていますか?
Matlab 内から log4j2 を使用する際に問題はありますか?
編集:これは、Matlab 自体の内部ログ用に Matlab に組み込まれている log4j の使用に関連していると思います。ログバックがMatlabのlog4jの使用について不平を言うという点で、ログバックで同様の問題を回避することができました。classpath.txt ファイルはおそらくこれを解決するために使用できます。つまり、classpath.txt から log4j を削除しますが、これにより Matlab の内部ログが壊れる可能性があります。別のログ ツールに切り替えることで、この問題を回避しました。
java - Log4j2で、XMLスキーマをlog4j2.xmlに関連付けるにはどうすればよいですか?
私は新しいLog4j2を試してみました。移行に関するドキュメントから、XMLスキーマ/DTD仕様は廃止されたようです。
それは一歩後退したようです。log4j2.xml
確かに、XMLスキーマまたはDTDのいずれかをmyに関連付けて、書き込みと検証を支援することができるはずです。ドキュメントで役立つものを見つけることができませんでした。また、XMLスキーマまたはDTD自体も見つかりませんでした。
したがって、Log4j2では、XMLスキーマをどのように関連付ける必要がありますlog4j2.xml
か?