5

プロジェクトに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 "(正しく理解している場合)。

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

ありがとう

4

3 に答える 3

9

システム プロパティを設定して、構成パスを指定できます。をセットする

"-Dlog4j.configurationFile="D:\learning\blog\20130115\config\LogConfig.xml" 

VM 引数で。交換

"D:\learning\blog\20130115\config\LogConfig.xml"

構成パスに。

于 2013-01-15T10:51:49.393 に答える
0
  1. log4j2.xmlファイルをプロジェクトのリソース ディレクトリに配置して、log4j がクラス パスの下のファイルを自動的に検索するようにします

カスタマイズされた場所から log4j2.xml ファイルをロードしています -

  1. システム プロパティ/VM 引数を使用できます - Dlog4j.configurationFile=file:/path/to/file/log4j2.xml これは、任意の Web アプリケーションで機能します。

  2. 一部のレガシー アプリケーションでは、D:/property/log4j2.xmlのようなマシン上のカスタムの場所からlog4j2.xml/log4j2.propertiesをロードするためのクラスを作成できます。 これらのアプローチのいずれかを使用すると、アプリケーションの起動時に log4j2.xml src/resources フォルダーのファイルは、カスタムの場所の log4j.xml ファイルによって上書きされます。

于 2021-04-22T15:25:43.570 に答える