簡単なロゴ4 jは異常スタックを印刷しません。


本論文で検討したのは主にlog 4 jが異常スタックを印刷しない関連コンテンツであり、特に以下の通りである。
最近オンラインシステムのエラーログで現象が発見されました。
コードにはログ4 jでシステム運転時の異常スタック情報が印刷されています。エラーログにはスタック情報が表示されません。異常情報のみです。これはプログラマにとって打撃です。スタック情報がないので、どうしてバグを調べることができますか?
[01-15 11:29:26][ERROR][org.apphe.thrift.server.AbstractNonblockServer.$Frame Buffer:524]Uexpected throwable while invoking!
後にこれはjdkの最適化であることがわかった。JVMは性能を最適化するために、頻繁にある異常を投げ出すと、再度コンパイルして、異常スタックを印刷しなくなります。
この問題を解決するのも簡単です。毎回前のロゴを調べてスタックを見たくないなら、起動パラメータに-XX:-Omit StockTrace InFastThrowを加えるだけで、この最適化を無効にして、異常スタックを強制的に印刷することができます。このようにすると、ロゴファイルが大きすぎるかもしれませんが、ライン上では今日までのロゴファイルが圧縮されますので、問題はないと思います。
[01-15 16:40:09][ERROR][org.apphe.thrift.server.AbstractNonblockServer.$Frame Buffer:524]Uexpected throwable while invoking!
java.lang.Null PointerException
at comp.iqiyi.ttbramin.recommand.selector.services.Filter Service.filter 2(Filter Service.java:42)
at comple.iqiyi.ttbramin.recommand.thrift.IFRET Service$Processor.filter.2.get Resultult(IFFterService.java:181)
at comple.iqiyi.ttbramin.recommand.thrift.IFRET Service$Processor.filter.2.get Resultult(IFFterService.java:166)
at org.apache.thrift.Process Function.process(Process Function.java:39)
at org.apache.thrift.TB ase Process.process(TB ase Process.java:39)
at org.apache.thrift.server.Abstract NonblockingServer$Frame Buffer.invoke(Abstract Nonbank Server.java:518)
at org.apacthe.thrift.server.Invocation.run(Invocation.java:18)
at java.util.co ncurrent.ThreadPool Exector.runWorker(ThreadPool Exector.java:1145)
at java.util.co ncurrent.ThreadPool ExectorドルWorker.run(ThreadPool Exector.java:615)
at java.lang.Thread.run(Thread.java:745)
締め括りをつける
以上が本稿の簡単なロゴ4 jについてです。異常スタックの内容を印刷しないでください。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。