org.slf4j.Loggerでのinfo()メソッドの使用

3955 ワード

  • info()メソッドパラメータが次のタイプである場合:
  •     public void info(String format, Object argArray[])
        {
            if(logger.isInfoEnabled())
            {
                FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
                logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable());
            }
        }

    使用例1:
    private final Logger log = LoggerFactory.getLogger(getClass());
    
    log.info("backlog={}", new Object[]{backlog});//backlog Java  ,   toString()           

    出力は次のとおりです.
    backlog=Backlog [backlogId=null, employeeId=36, backlogHead=Test, backlogBody=  :2016-10-1,  :       , createDate=Tue Nov 01 16:44:03 CST 2016, scheduledDate=Mon Feb 01 16:44:03 CST 2016]

    使用例2:
    private final Logger log = LoggerFactory.getLogger(getClass());
    
    log.info("add Backlog -> employeeId={}, backlogHead={}, scheduledDate={}", new Object[]{
                    backlog.getEmployeeId(), backlog.getBacklogHead(), backlog.getScheduledDate()});

    出力は次のとおりです.
    add Backlog -> employeeId=36, backlogHead=Test, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
  • info()メソッドパラメータが次の場合:
  • public void info(String msg)
        {
            logger.log(FQCN, Level.INFO, msg, null);
        }

    使用例1:
    log.info("backlog=" + backlog);

    出力結果:
    backlog=Backlog [backlogId=null, employeeId=36, backlogHead=Test, backlogBody=  :2016-10-1,  :       , createDate=Tue Nov 01 16:44:03 CST 2016, scheduledDate=Mon Feb 01 16:44:03 CST 2016]
  • info()メソッドパラメータが次の場合:
  • public void info(String format, Object arg)
        {
            if(logger.isInfoEnabled())
            {
                FormattingTuple ft = MessageFormatter.format(format, arg);
                logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable());
            }
        }

    使用例1:
    log.info("delete backlog -> backlogId={}", backlogId);

    出力は次のとおりです.
    delete backlog -> backlogId=69

    まとめ:2番目のパラメータがObjectの場合、1番目のStringパラメータには「{}」が対応し、Object[]配列の場合、配列にはいくつかのオブジェクトがあり、前のStringパラメータにはいくつかの{}カッコが対応します.