log日志模块logging和os,sys模块os._exit() sys.exit()

import logging
import traceback
logger = logging.getLogger(__name__)
logger.setLevel(level = logging.INFO)
handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
#上面创建一个对象完毕
#我竟然在做脚本时候把他们全部分装到了print_ts中,每次打印都会写入多条重复的log信息。
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
logging.error(str(traceback.format_exc()))  # 建议加入追踪
import logging
def logger_Info(logIndex="info",logPath='./log/run.log'):
    # log初始化
    logLevelList = {"info":logging.INFO,"debug":logging.DEBUG}
    logLevel = logLevelList[logIndex]
    logger = logging.getLogger("billType service")
    logger.setLevel(level = logLevel)
    if not logger.handlers:  # 单例化
        handler = logging.FileHandler(logPath)
        handler.setLevel(logLevel)
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        handler.setFormatter(formatter)
        logger.addHandler(handler)
    return logge

下面的用法来自:cnblogs

import os
import logging
import traceback
 
#设置log, 这里使用默认log
logging.basicConfig(
    level=logging.INFO,                                                            #日志级别,只有日志级别大于等于设置级别的日志才会输出
    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',  #日志输出格式
    datefmt='[%Y-%m_%d %H:%M:%S]',                                                 # 日期表示格式
    filename=os.path.dirname(os.path.realpath(__file__)) + "/" + 'test.log',       #输出定向的日志文件路径
    filemode='a'                                                                   #日志写模式,是否尾部添加还是覆盖
    )
 
a=10
b=0 #设置为0, 走异常流程; 否则, 走正常流程
 
try:
  res=a/b
  logging.info("exec success, res:" + str(res))
except Exception,e:
  #format_exc()返回异常信息字符串,print_exc()则直接给打印异常信息
  traceback.print_exc()
  logging.warning("exec failed, failed msg:" + traceback.format_exc())

上面的这段代码来自于博客:https://www.cnblogs.com/liujiacai/p/7804848.html
这里写了log日志的用法。

下面这段话来自于博客:https://blog.csdn.net/jingbaomm/article/details/83716504

Python的程序有两中退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。

os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。

sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值