{ 'server': { 'level': 'DEBUG', // option: CRITICAL ERROR WARNING INFO DEBUG 'fmt': '[%(asctime)s][%(name)s]:[%(levelname)s] %(message)s', // format of log 'date_fmt': '%Y-%m-%d %H-%M-%S', // format at https://docs.python.org/zh-cn/3.8/library/time.html#time.strftime }, 'client': { 'level': 'DEBUG', // option: CRITICAL ERROR WARNING INFO DEBUG 'fmt': '[%(asctime)s][%(name)s]:[%(levelname)s] %(message)s', // format of log 'date_fmt': '%Y-%m-%d %H-%M-%S', // format at https://docs.python.org/zh-cn/3.8/library/time.html#time.strftime }, 'file': { 'level': 'DEBUG', // option: CRITICAL ERROR WARNING INFO DEBUG 'fmt': '[%(asctime)s][%(name)s]:[%(levelname)s] %(message)s', // format of log 'date_fmt': '%Y-%m-%d %H-%M-%S', // format at https://docs.python.org/zh-cn/3.8/library/time.html#time.strftime 'filename': { 'main': '{date} SR.log', // {date} -> date 'formats': { '{date}': '%Y-%m-%d %H-%M-%S', // format at https://docs.python.org/zh-cn/3.8/library/time.html#time.strftime // can and more {xx} by adding more obj EZ } } } }