2012-02-18 9 views
0

私たちはすべてのロギング要件について、アプリケーションにログインしているApacheコモンズを使用しています。 今週は面白いユースケースがポップアップして私に質問がありました。 修正メッセージの特定のフィールドに、クライアントが持つアプリケーション上のフリーフォームのテキストエリアの値に基づいてデータが入力されるクライアントからのFIXメッセージの受信を開始しました。クライアントは、特別なcharachetrsや改行などを含む任意のテキストを入力することができます。Apache Commons Logging - New Line Charachters

私たちが受け取った修正メッセージはログに記録されますが、新しい行chrachetrsを持つこのタグを含むFIXメッセージを受け取ったとき、新しい行の文字列が記録されるまで、修正メッセージの一部分のみが表示されます。とにかく、新しいライン文字を無視し、新しいライン文字を含むかどうかにかかわらず文字列全体を記録するようにログフレームワークに指示しますか?

おかげ ダミアン

答えて

1

メッセージは新しい行に記録されていないことを確認していますか?私たちも同様のことを行い、余分な設定をせずに新しい行を記録します。これらの行を表示するためにログにgrepしていますか?私はgrepの出力に新しい行を表示するためにgrep文に '-A 5'(または後に表示したい行の数)フラグを付け加えない限り、新しい行に表示するので、尋ねます。一致するもの

+0

ご回答いただきありがとうございます。はい、別の行に記録されますが、私はそれが1行に記録されることを期待していました。この動作はアプリケーションに受け入れられますか? – Damien

+0

私は、新しい行のログ出力はデバッグのためだけに使用されるので、これは受け入れられます。しかし、ログが分析に使用された場合、どのように役立つかがわかります。私はそれがあなたのコードでは余分な仕事だと知っていますが、あなたはログアウトする前に改行文字を改行文字以外の文字列( '\\ n'など)に置き換えることを考えましたか? –

+0

はい私は同じ考えをしていた。すべてのログ・ステートメントに新しい改行文字の除去を実行するために使用する現在のアペンダーを拡張する価値があります – Damien

関連する問題