logging.Formatter 日期格式
阿新 • • 發佈:2018-12-26
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
使用者輸出的訊息