import logging
logging.basicConfig(level=logging.WARNING,
format='%(asctime)s [%(filename)s] outputNumber:[%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='my.log',
filemode='a')
logger = logging.getLogger(__name__)
if __name__ == "__main_":
logger.warning('this is a log')
logger.info('this is a info')
1. 先导入logging模块
2. 设置logging.basicConfig()
级别 | 数值 |
---|
CRITICAL | 50 |
FATAL | 50 |
ERROR | 40 |
WARNING | 30 |
WARN | 30 |
INFO | 20 |
DEBUG | 10 |
NOTSET | 0 |
格式 | 作用 |
---|
%(levelno)s | 打印日志级别的数值。 |
%(levelname)s | 打印日志级别的名称。 |
%(pathname)s | 打印当前执行程序的路径,其实就是sys.argv[0]。 |
%(filename)s | 打印当前执行程序名。 |
%(funcName)s | 打印日志的当前函数。 |
%(lineno)d | 打印日志的当前行号。 |
%(asctime)s | 打印日志的时间。 |
%(thread)d | 打印线程ID。 |
%(threadName)s | 打印线程名称。 |
%(process)d | 打印进程ID。 |
%(processName)s | 打印线程名称。 |
%(module)s | 打印模块名称。 |
%(message)s | 打印日志信息。 |
- datefmt:指定时间的输出格式
- fliename:指定日志输出到指定的文件
- filemode:指定写入文件的格式
3.实例化一个日志
logger = logging.getLogger(__name__)
可以把当前文件名传进去
其他
- 设置日志等级
import logging
logging.basicConfig(level=logging.WARNING,
format='%(asctime)s [%(filename)s] outputNumber:[%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filemode='a')
if __name__ == "__main__":
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
logger.warning('this is a warning')
logger.info('this is a info')