How do I change java logging console output from std err to std out?

后端 未结 13 1613
旧巷少年郎
旧巷少年郎 2020-11-27 06:50

I\'m using the standard ConsoleHandler from java.util.logging and by default the console output is directed to the error stream (i.e. System.

13条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-27 07:36

    Step 1: Set parent handlers to false.

    log.setUseParentHandlers(false);
    

    Step 2: Add a handler that writes to System.out

    log.addHandler(new StreamHandler(System.out, new SimpleFormatter()));
    

    Thats it..

    import java.io.IOException;
    import java.util.logging.Logger;
    import java.util.logging.SimpleFormatter;
    import java.util.logging.StreamHandler;
    
    public class App {
    
         static final Logger log = Logger.getLogger("com.sample.app.App");
    
         static void processData() {
              log.info("Started Processing Data");
              log.info("Finished processing data");
         }
    
         public static void main(String args[]) throws IOException {
              log.setUseParentHandlers(false);
    
              log.addHandler(new StreamHandler(System.out, new SimpleFormatter()));
    
              processData();
         }
    }
    

提交回复
热议问题