1. 程式人生 > >logging.Formatter 日期格式

logging.Formatter 日期格式

 

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s","%Y%b%d-%H:%M:%S")

 

上面的%Y等是時間格式,所以要想理解上面要表示個什麼,先來看一下Python的時間格式。

 

 

  • %a - abbreviated weekday name
  • %A - full weekday name
  • %b - abbreviated month name
  • %B - full month name
  • %c - preferred date and time representation
  • %C - century number (the year pided by 100, range 00 to 99)
  • %d - day of the month (01 to 31)
  • %D - same as %m/%d/%y
  • %e - day of the month (1 to 31)
  • %g - like %G, but without the century
  • %G - 4-digit year corresponding to the ISO week number (see %V).
  • %h - same as %b
  • %H - hour, using a 24-hour clock (00 to 23)
  • %I - hour, using a 12-hour clock (01 to 12)
  • %j - day of the year (001 to 366)
  • %m - month (01 to 12)
  • %M - minute
  • %n - newline character
  • %p - either am or pm according to the given time value
  • %r - time in a.m. and p.m. notation
  • %R - time in 24 hour notation
  • %S - second
  • %t - tab character
  • %T - current time, equal to %H:%M:%S
  • %u - weekday as a number (1 to 7), Monday=1. Warning: In Sun Solaris Sunday=1
  • %U - week number of the current year, starting with the first Sunday as the first day of the first week
  • %V - The ISO 8601 week number of the current year (01 to 53), where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week
  • %W - week number of the current year, starting with the first Monday as the first day of the first week
  • %w - day of the week as a decimal, Sunday=0
  • %x - preferred date representation without the time
  • %X - preferred time representation without the date
  • %y - year without a century (range 00 to 99)
  • %Y - year including the century
  • %Z or %z - time zone or name or abbreviation
  • %% - a literal % character 
    我們的例子是以 年月日-時:分:秒 的形式顯示日期的。 
    除此之外,還要理解%(asctime)s等格式符所代表的意義,%(asctime)s表示這個位置上是字串形式的當前時間;%(levelname)s,如果是logger.debug則它是DEBUG,如果是logger.error則它是ERROR;%(message)s,假如有logger.warning("HAHA"),則在%(message)s位置上是字串HAHA。更詳細的格式符如下: 

    %(name)s

    Logger的名字

    %(levelno)s

    數字形式的日誌級別

    %(levelname)s

    文字形式的日誌級別

    %(pathname)s

    呼叫日誌輸出函式的模組的完整路徑名,可能沒有

    %(filename)s

    呼叫日誌輸出函式的模組的檔名

    %(module)s

    呼叫日誌輸出函式的模組名

    %(funcName)s

    呼叫日誌輸出函式的函式名

    %(lineno)d

    呼叫日誌輸出函式的語句所在的程式碼行

    %(created)f

    當前時間,用UNIX標準的表示時間的浮 點數表示

    %(relativeCreated)d

    輸出日誌資訊時的,自Logger建立以 來的毫秒數

    %(asctime)s

    字串形式的當前時間。預設格式是 “2003-07-08 16:49:45,896”。逗號後面的是毫秒

    %(thread)d

    執行緒ID。可能沒有

    %(threadName)s

    執行緒名。可能沒有

    %(process)d

    程序ID。可能沒有

    %(message)s

    使用者輸出的訊息