ファイルに出力を送信するときのlog4j2の問題

ラルフ

以下のlog4j2.xmlファイルがあります。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="LOG_DIR">.</Property>
        <Property name="ARCHIVE">output.log</Property>
        <Property name="CONSOLE_PATTERN">[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</Property>
        <Property name="FILE_PATTERN">%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Property>
    </Properties>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="${CONSOLE_PATTERN}"/>
        </Console>
        <File name="file" fileName="${LOG_DIR}/${ARCHIVE}" immediateFlush="false" append="false">
            <PatternLayout pattern="${FILE_PATTERN}"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="info" additivity="false">
            <AppenderRef ref="console"/>
            <AppenderRef ref="file"/>
        </Root>
        <Logger name="com.my.example" level="TRACE" additivity="false">
            <AppenderRef ref="console"/>
        </Logger>
    </Loggers>
</Configuration>

次に、メインクラス内に次のように配置します。

private static final Logger logger = LogManager.getLogger(Main.class.getName());

同じクラスで、以下の行を使用していくつかのメッセージをログに記録します。

    logger.trace("Starting application...");
    logger.info("This should be written to file, but doesn't");

アプリをデバッグしているとき:

  • 私のトレースメッセージはすべてコンソールに書き込まれます。
  • 情報メッセージ(logger.info)はコンソールにのみ書き込まれ、ファイルには書き込まれません。ファイルは作成されますが、開くと空です。どうして?

アプリの実行時(デバッグなし)はテストしていません。それが正常で、デバッグでのみ成功するかどうか疑問に思っています。

rgoers

おそらく、メインクラスはcom.my.exampleパッケージまたはサブパッケージにあります。したがって、そのロガーを使用してログに記録します。そのロガーは、コンソールに移動するようにのみ構成されています。加法性がfalseに設定されているため、ルートロガーに委任されません。それが本当なら、ルートロガーはもう一度コンソールにログを記録してからファイルにログを記録します。

構成では、ファイルにログを記録する唯一の方法は、com.my.exampleパッケージからのイベント以外のロガーからのイベントをログに記録することです。たとえば、あなたがする場合

ロガーlogger2 = LogManager.getLogger( "Test"); logger2.info( "これはファイルに書き込まれます");

実際にはファイルに移動します。

これがすべて説明されているhttp://logging.apache.org/log4j/2.x/manual/architecture.htmlを参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

YAMLファイルからlog4j2を自動構成する際の問題

分類Dev

Springのデフォルトのロガーをlog4j2に変更しようとすると何が問題になりますか?

分類Dev

LOG4J2:プログラムで構成するときに、「log4j2構成ファイルが見つかりません...」の印刷を無効にする

分類Dev

Log4j2は私の設定ファイルを見つけることができません

分類Dev

Log4j2ファイルのHibernateログを除外する

分類Dev

Log4j2がログをファイルに書き込まないのはなぜですか?

分類Dev

Log4j2が過去のログファイルを上書きする

分類Dev

Log4j2ローリングファイルが既存のログを上書きする

分類Dev

ファイルの2次元配列を送信すると問題

分類Dev

Log4j2:ロギングファイルを毎日「制御不能」に出力する

分類Dev

実行時にLog4J2出力ファイルを変更する

分類Dev

Intellijでlog4jログファイル形式の問題を取得する

分類Dev

Log4j2をログファイルに記録するにはどうすればよいですか?考えられるすべてのことを試しましたが、Linuxの構成の問題である可能性がありますか?

分類Dev

log4jの問題:loggを多くのファイルにリダイレクトする

分類Dev

log4j2を使用してタイムスタンプ付きのファイルにログを保存する方法

分類Dev

pom.xmlにjmeterの依存関係を追加しているときに、log4jエラーERRORStatusLogger「log4j2構成ファイルが見つかりません」を取得しています

分類Dev

Log4j2:各ユーザーの個別のファイルにログを書き込む方法は?

分類Dev

log4j2ログをログ呼び出しごとに1つのファイルにする方法は?

分類Dev

SpringBootでの構成に関するLog4j2の問題

分類Dev

Log4J2でログを記録するときにJbossWildflyログファイルに誤ってログインする

分類Dev

実行可能JARを使用する場合のLog4j2構成ファイルの指定

分類Dev

log4j2ログを指定されたサイズのファイルに1週間保持します

分類Dev

Log4J RollingFileAppenderは、同じファイルに2つのアペンダーを作成するときにファイルをロールしません

分類Dev

log4j2のJSONログにフィールドを追加する方法

分類Dev

log4j2を使用してログを記録するときのaixシステムでのエンコードの問題

分類Dev

log4j2(xmlのMDC)を使用して異なるファイルに異なるログを書き込む方法は?

分類Dev

log4j2(xmlのMDC)を使用して異なるファイルに異なるログを書き込む方法は?

分類Dev

私のlog4j2ログファイルには、各行の出力が常に2つあります。どうすれば複製を停止できますか?

分類Dev

日付のタイムスタンプをlog4j2ログファイルに追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    YAMLファイルからlog4j2を自動構成する際の問題

  2. 2

    Springのデフォルトのロガーをlog4j2に変更しようとすると何が問題になりますか?

  3. 3

    LOG4J2:プログラムで構成するときに、「log4j2構成ファイルが見つかりません...」の印刷を無効にする

  4. 4

    Log4j2は私の設定ファイルを見つけることができません

  5. 5

    Log4j2ファイルのHibernateログを除外する

  6. 6

    Log4j2がログをファイルに書き込まないのはなぜですか?

  7. 7

    Log4j2が過去のログファイルを上書きする

  8. 8

    Log4j2ローリングファイルが既存のログを上書きする

  9. 9

    ファイルの2次元配列を送信すると問題

  10. 10

    Log4j2:ロギングファイルを毎日「制御不能」に出力する

  11. 11

    実行時にLog4J2出力ファイルを変更する

  12. 12

    Intellijでlog4jログファイル形式の問題を取得する

  13. 13

    Log4j2をログファイルに記録するにはどうすればよいですか?考えられるすべてのことを試しましたが、Linuxの構成の問題である可能性がありますか?

  14. 14

    log4jの問題:loggを多くのファイルにリダイレクトする

  15. 15

    log4j2を使用してタイムスタンプ付きのファイルにログを保存する方法

  16. 16

    pom.xmlにjmeterの依存関係を追加しているときに、log4jエラーERRORStatusLogger「log4j2構成ファイルが見つかりません」を取得しています

  17. 17

    Log4j2:各ユーザーの個別のファイルにログを書き込む方法は?

  18. 18

    log4j2ログをログ呼び出しごとに1つのファイルにする方法は?

  19. 19

    SpringBootでの構成に関するLog4j2の問題

  20. 20

    Log4J2でログを記録するときにJbossWildflyログファイルに誤ってログインする

  21. 21

    実行可能JARを使用する場合のLog4j2構成ファイルの指定

  22. 22

    log4j2ログを指定されたサイズのファイルに1週間保持します

  23. 23

    Log4J RollingFileAppenderは、同じファイルに2つのアペンダーを作成するときにファイルをロールしません

  24. 24

    log4j2のJSONログにフィールドを追加する方法

  25. 25

    log4j2を使用してログを記録するときのaixシステムでのエンコードの問題

  26. 26

    log4j2(xmlのMDC)を使用して異なるファイルに異なるログを書き込む方法は?

  27. 27

    log4j2(xmlのMDC)を使用して異なるファイルに異なるログを書き込む方法は?

  28. 28

    私のlog4j2ログファイルには、各行の出力が常に2つあります。どうすれば複製を停止できますか?

  29. 29

    日付のタイムスタンプをlog4j2ログファイルに追加するにはどうすればよいですか?

ホットタグ

アーカイブ