2016-07-26 10 views
0

Java Webアプリケーションで行を改行し、新しい行にログを追加するには、ヘルプが必要です。LinuxのLog4jの改行(%n)パターン

<PatternLayout pattern="%d{dd/MM/YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} %msg%n%n"/> 

これは私が使用したパターンです。 Linux環境でこれを実行したいのですが、%nは機能していません。最後の行だけにログが追加されます

+1

あなたはどのバージョンを使用していますか?私のlog4j2.xmlでは、私のLinux環境であなたのパターンを使用し、それは改行でログを出力しています。実際に '%n%n'を入れて2つの改行を追加しています。私が取得している唯一の警告は、使用している日付形式によるものです。あなたのlog4j2.xml設定で 'status =" warn "'を使ってみてください。 –

+0

すべてのコンフィグレーションステータスを 'status =" ALL "' と言います – Bhat

+1

ステータスは、log4j設定がロードされたときにログメッセージを表示するだけで、設定にエラーがないかどうかを確認できます。 「すべて」と言うと、log4j設定をロードしている間はすべてのレベルのログを記録します。ステータスを 'warn'または' debug'とする方が良い場合は、ログメッセージが多すぎることになります。あなたはあなたが得ている出力を投稿できますか?また、完全なlog4j設定。 –

答えて

1

LinuxまたはWindowsでログファイルを表示していますか?ログファイルがLinuxで作成され、Windowsで表示される場合、新しい行文字は、古典的なテキストエディタを使用してWindows上に新しい行を作成しないので、すべてのログは同じ行にあります。

\nではなく、パターンに\r\nを使用するか、Linuxの行区切り文字(\n)を扱うWindowsの別のテキストエディタ(メモ帳++など)を使用できます。

0

私は

<PatternLayout pattern="%msg"/> 

としてログのパターン文字列を保持し、情報機能でLogManagement.java

private static final Logger LOGGER_OBJECT = LogManager.getLogger(LogManagement.class); 

private static final String STRING_DATE_FORMAT = "dd MMM yyyy HH:mm"; //Date & Time format 
private static final SimpleDateFormat SIMPLE_DATE_FORMAT_PATTERN = new SimpleDateFormat(STRING_DATE_FORMAT); //Simple format conversion 

コード

LOGGER_OBJECT.info("\r\n"); //New Line 
LOGGER_OBJECT.info("Log Type\t: INFO"); //Log Type 
LOGGER_OBJECT.info("\r\n"); 
LOGGER_OBJECT.info("Date & Time\t: "+SIMPLE_DATE_FORMAT_PATTERN.format(new Date()));//Current Date & Time 
LOGGER_OBJECT.info("\r\n"); 

を変更し、私がログインしたときにこれが正常に動作しますLinuxのデータとWindowsプラットフォームの表示

関連する問題