# 代码设置
【输出到屏幕】
点击(此处)折叠或打开
- import logging
- logging.basicConfig(level=logging.INFO,
- format='%(asctime)s [%(levelname)s] %(filename)s[line:%(lineno)d] %(message)s',
- datefmt='%Y-%m-%d %H:%M:%S')
- logging.info("message")
- logging.warning("message")
- logging.error("message")
# 从配置文件读取
点击(此处)折叠或打开
- #!/usr/bin/env python
- # coding= utf-8
- import logging
- import logging.config
- logging.config.fileConfig("etc/logger.conf")
- lgs = "root,main,mysql,oracle,mongodb,os,alarm".split(",")
- for lg in lgs:
- msg = "test '%s' logger..." % (lg)
- lg_logger = logging.getLogger(lg)
- lg_logger.debug(msg)
- lg_logger.info(msg)
-
# 配置文件 logger.cnf
点击(此处)折叠或打开
- ###############################################
[loggers]
keys=root,main,mysql,oracle,mongodb,os,alarm
[logger_root]
qualname=root
level=DEBUG
handlers=root,main
[logger_main]
qualname=main
level=INFO
handlers=root,main
[logger_mysql]
qualname=mysql
level=INFO
handlers=mysql
[logger_oracle]
qualname=oracle
level=INFO
handlers=oracle
[logger_mongodb]
qualname=mongodb
level=INFO
handlers=mongodb
[logger_os]
qualname=os
level=INFO
handlers=os
[logger_alarm]
qualname=alarm
level=INFO
handlers=alarm
###############################################
[handlers]
keys=root,main,mysql,oracle,mongodb,os,alarm
[handler_root]
class=StreamHandler
formatter=form01
args=(sys.stderr,)
[handler_main]
class=handlers.RotatingFileHandler
formatter=form01
# 超过20M切换,保留3份
args=('logs/main.log', 'a', 20971520, 3)
[handler_mysql]
class=handlers.TimedRotatingFileHandler
formatter=form02
args=('logs/mysql.log', 'd', 1, 1)
[handler_oracle]
class=handlers.TimedRotatingFileHandler
formatter=form02
args=('logs/oracle.log', 'd', 1, 1)
[handler_mongodb]
class=handlers.TimedRotatingFileHandler
formatter=form02
# TimedRotatingFileHandler(filename, when='h', interval=1, backupCount=0, encoding=None, delay=False, utc=False)
# 每天切换一次,保留一份备份
args=('logs/mongodb.log', 'd', 1, 1)
[handler_os]
class=handlers.RotatingFileHandler
formatter=form02
# RotatingFileHandler(filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=0)
# 超过10M切换,保留3份
args=('logs/os.log', 'a', 10485760, 3)
[handler_alarm]
class=handlers.RotatingFileHandler
formatter=form02
# 超过10M切换,保留1份
args=('logs/alarm.log', 'a', 10485760, 1)
###############################################
[formatters]
keys=form01,form02
[formatter_form01]
format=%(asctime)s [%(levelname)s] %(message)s
datefmt=%Y-%m-%d %H:%M:%S
[formatter_form02]
format=%(asctime)s [%(levelname)s] %(filename)s[line:%(lineno)d] %(message)s
datefmt=%Y-%m-%d %H:%M:%S
Handler 说明 : https://docs.python.org/2/library/logging.handlers.html
formatter 属性: https://docs.python.org/2/library/logging.html#logging.LogRecord
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26250550/viewspace-1842126/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26250550/viewspace-1842126/