code: def log_first_n(level, msg, n, *args):  # pylint: disable=g-bad-name
      """Log 'msg % args' at level 'level' only first 'n' times.
  
      Not threadsafe.
  
      Args:
      level: The level at which to log.
      msg: The message to be logged.
      n: The number of times this should be called before it is logged.
      *args: The args to be substituted into the msg.
      """
      count = _GetNextLogCountPerToken(_GetFileAndLine())
      log_if(level, msg, count < n, *args)
  
imports: import logging
  import os
  import sys
  import threading
  import time
  from logging import DEBUG, ERROR, FATAL, INFO, WARN
  import six
  from tensorlayer.decorators import deprecated
label_desc: Use image node_id 14 for calling a global function with example usage: log_first_n(level, msg, n) without return types