3

非常に奇妙なエラーが発生するテスト プログラム (私が作成したものではありません) がありますが、これは時々しか発生しません。プログラムの最後に、テスト レポートを含む文字列が次を使用して出力されます。

logger.warn(reportString);

1/10 から 1/3 の試行 (変化します) のどこでも、この文字列は表示されませんが、それより前のすべては表示されます。この前に、この行を追加して、文字列が常に適切に作成されるようにしました。これは、毎回同じ長さになるためです。

logger.info("Length: " + reportString.length());

実験のために、ログの行をもう 1 つ追加したので、プログラムの最後は次のようになります。

logger.info("Length: " + reportString.length());
logger.warn(reportString);
logger.info("REACHED END OF PROGRAM");

これを行うと、reportString は常に出力/ログに記録されるように見えますが、「REACHED END OF PROGRAM」文字列は約 50% の時間だけ出力/ログに記録されます。多分それは私のWindowsコマンドプロンプトに何かありますか?これはかなり漠然とした問題であることは承知していますが、誰かアイデアがあれば大歓迎です。

4

2 に答える 2