javadocでpatternLayoutを調べているうちに、代わりにEnhancedPatternLayoutを使用することが推奨されています。しかし、それはほとんど同じことをするようです。EnhancedPatternLayoutとPatternLayoutの主な違いは何ですか?
主な違いは何ですか、特に私が知っておく必要があるものは何ですか?
元のクラスを強化するのではなく、なぜ別のクラスを作成したのだろうと思います。構文に違いはありますか?
javadocでpatternLayoutを調べているうちに、代わりにEnhancedPatternLayoutを使用することが推奨されています。しかし、それはほとんど同じことをするようです。EnhancedPatternLayoutとPatternLayoutの主な違いは何ですか?
主な違いは何ですか、特に私が知っておく必要があるものは何ですか?
元のクラスを強化するのではなく、なぜ別のクラスを作成したのだろうと思います。構文に違いはありますか?
documentationを確認してください。すべてが説明されています。 EnhancedPatternLayout
は、PatternLayout
の拡張バージョンです。 PatternLayout
より優先して使用する必要があります(互換性理由を除いてPatternLayout
)。
PatternLayoutには、EnhancedPatternLayoutに特に同期していない問題がいくつか含まれています。
私はすでに文書をチェックして何も説明されていないので、私はこの質問を正確に尋ねました。はい、それは強化されています、私はその名前からも見ることができますが、** **どのように強化? – aditsu
これは、EnhancedPatternLayoutには内部的な変更のみが含まれていますが、**同じ方法で**使用されていますか? – aditsu
ほとんどの場合、 'EnhancedPatternLayout'には、PatternLayoutでは利用できない余分な変換文字があります。それ以外の場合は同じように見えます。私はJavaの専門家ではないので、2つのドキュメントページやソースを比較して自分で確認できます。 – cago
EnhancedPatternLayoutは結果をStringBufferとしてフォーマットし、PatternLayoutは結果をStringとしてフォーマットします。
PatternLayoutとEnhancedPatternLayoutの主な違いは、()メソッドの形式です。 patternLayoutは、sbuf
という名前のメンバフィールドに依存していますが、EnhancedPatternLayoutはStringBufferのプライベートインスタンスを使用します。これは、同時のEnhancedPatternLayout.format()呼び出しが並行していないときに、PatternLayout.format()呼び出しが同時呼び出し中のデータ競争の影響を受けやすいことを意味します。
少なくとも1つの大きな違いはタイムゾーンのサポートです。http://stackoverflow.com/questions/1785725/specify-time-zone-of-log4js-dateを参照してください。 – B5A7