Java Logger only to file, no screen output

前端 未结 5 1331
悲哀的现实
悲哀的现实 2021-02-19 12:44

I have quite a simple problem but can\'t find a solution for it. I have a logger with a file handler added, but it still spams the hell out of my console. How could I get the lo

相关标签:
5条回答
  • 2021-02-19 12:58

    Old question but to help other developers:

    You can also just use logger.setUseParentHandlers(false) on your logger.

    0 讨论(0)
  • 2021-02-19 13:01

    Remove all handlers (using Logger.getHandlers() and calling Logger.removeHandler() for each handler) from the root logger before adding your file handler.

    0 讨论(0)
  • 2021-02-19 13:16

    The simplest way to guarantee that nothing will be written to the console is to put:

    java.util.logging.ConsoleHandler.level = NONE
    

    in your logging configuration file.

    0 讨论(0)
  • 2021-02-19 13:16

    I use:

    Logger logger = Logger.getLogger("MyLog");
        Logger parentLog= logger.getParent();
        if (parentLog!=null&&parentLog.getHandlers().length>0) parentLog.removeHandler(parentLog.getHandlers()[0]);
    
    0 讨论(0)
  • 2021-02-19 13:21

    Use log4j with

    import org.apache.log4j.Logger;
    
    Logger logger = Logger.getLogger("com.whatever");
    PropertyConfigurator.configure("file-log4j.properties");
    

    and set your display levels in file-log4j.properties:

    # Root logger option
    log4j.rootLogger=INFO, file
    
    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=index-service.log
    log4j.appender.file.MaxFileSize=1MB
    log4j.appender.file.MaxBackupIndex=1
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    log4j.appender.file.Append=false
    
    0 讨论(0)
提交回复
热议问题