2

リクエストを「ライブ」または「テスト」システムにルーティングするサーブレットがあります。

サーブレットは、URI パスに基づいてこれを認識します。ログを 2 つの別々のファイル (1 つはライブ用、もう 1 つはテスト用) に書きたいと思います。

だから私はmdcを使う必要があることを知っています

そう...

class MyServlet ... {
    Logger logger = LoggerFactory.getLogger("com.xxx.abc");

    HttpServletRequest(...)
    {
        if(path contains "live")
            MDC.put("production", "Live");
        else
            MDC.put("production", "Test");

        logger.info("Request processed...");
    }
}

私の logback.xml には、2 つのアペンダーがあります。test または live の MDC 値に基づいて適切なアペンダーを選択するようロガーに指示するにはどうすればよいですか?

4

1 に答える 1