Python 之 logging日志模块

代码

#Author Kang

import logging

logging.basicConfig(filename="app.log",level=logging.WARNING,format=‘%(asctime)s %(levelname)s: %(message)s‘, datefmt=‘%m/%d/%Y %I:%M:%S %p‘)

logging.info("app info test")
logging.warning("app warning message")
logging.error("app error message")

#filename:app.log文件,用于保存日志输出信息
#level:日志级别
#format:日志输出的格式

结果:app.log文件信息
02/18/2019 06:27:10 PM WARNING: app warning message
02/18/2019 06:27:10 PM ERROR: app error message

日志格式

应用代码

#Author Kang
import logging

def loginlog(log_str):
    ‘‘‘定义了两个日志文件,正常登陆信息写入到access.log,异常登陆信息写入到error.log中‘‘‘
    #create logger
    logger_access_log = logging.getLogger("Access-log")    #创建一个logger(logger_access_log)
    logger_access_log.setLevel(logging.INFO)               #设置该logger级别,info以上都能接受

    logger_error_log = logging.getLogger("Error-log")      #创创建一个logger(logger_error_log)
    logger_error_log.setLevel(logging.WARNING)             #设置该logger级别,warning以上才接受

    #create file access.log handler and set level to waring
    fh = logging.FileHandler("access.log",encoding="utf-8")   #创建一个文件handler(fh)

    #create file error.log handler and set level to error
    ch = logging.FileHandler("error.log",encoding="utf-8")    #创建一个文件handler (ch)

    #create formatter
    fh_formatter = logging.Formatter(‘%(asctime)s %(levelname)s: %(message)s‘)    #fh handler 格式化输出
    ch_formatter = logging.Formatter(‘%(asctime)s %(levelname)s: %(message)s‘)    #ch handler 格式化出输

    #add formatter to fh handler
    fh.setFormatter(fh_formatter)              #往fh handler 关联格式化

    ch.setFormatter(ch_formatter)              #往ch handler 关联格式化

    #add fh handler to logger
    logger_access_log.addHandler(fh)           #往logger上添加fh handler
    logger_error_log.addHandler(ch)            #往logger 上添加ch handler

    if "welcome" in log_str:
        logger_access_log.info(log_str)         #写入日志
    else:
        logger_error_log.error(log_str)         #写入日志

def login():

    count = 0
    Flag = True
    while count < 3:
        username = input("请输入你的帐号:")
        userpasswd = input("请输入你的密码:")
        if username == "root" and userpasswd == "Password1":
            print("welcom to %s" %(username))
            loginlog("welcome to %s login successful" %(username))
            break
        else:
            print("输入有误,请重新输入")
            count+=1
        if count == 2:
            loginlog("%s login fail" %(username))

login()

原文地址:http://blog.51cto.com/12965094/2351480

时间: 2024-11-06 13:49:12

Python 之 logging日志模块的相关文章

python的logging日志模块(一)

最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. # -*- coding: utf-8 -*- import logging import sys # 获取logger实例,如果参数为空则返回root logger logger = logging.getLogger("AppName")

python的logging日志模块(二)

晚上比较懒,直接搬砖了. 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印:WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:

Python之logging日志模块

logging 用于便捷既然日志切线程安全的模块 vim log_test.py import logging logging.basicConfig(filename='log.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=logging.DEBUG) logging.debug('debug') logg

python 自动化之路 logging日志模块

logging 日志模块 http://python.usyiyi.cn/python_278/library/logging.html 中文官方http://blog.csdn.net/zyz511919766/article/details/25136485 清晰明了,入门必备http://my.oschina.net/leejun2005/blog/126713 继承讲的很棒http://my.oschina.net/u/126495/blog/464892 实例分析 一:概述 在实际项目

Python入门之logging日志模块以及多进程日志

本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录.python logging 官方文档 logging框架中主要由四个部分组成: Loggers: 可供程序直接调用的接口 Handlers: 决定将日志记录分配至正确的目的地 Filters:

python中的日志模块logging

1.日志级别5个: 警告Warning 一般信息Info  调试 Debug  错误Error 致命Critical 2.禁用日志方法 logging.disable(logging.DEBUG) 3.将日志写入文件 logging.basicConfig(filename='log.txt', level=logging.CRITICAL, format=' %(asctime)s - %(levelname)s - %(message)s') 4.格式化输出日志信息 注意事项: 1.日志输出

python 全栈 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)

一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据流中接收) 1.函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error mes

Python之配置日志模块logging

一.定义日志打印方式 如果我们运行自己的程序,有时候需要记录程序运行过程中出现的问题或者信息.可以运用日志模块logging来记录,该模块日志格式可以根据用户需求来自己定义. 常见打印日志信息形式如下: import logging logging.debug("========定义要打印的内容====debug①===========") logging.info("=========定义要打印的内容====info②===========") logging.w

python 重要的日志模块logging

一,logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息: print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据:logging则可以由开发者决定将信息输出到什么地方,以及怎么输出: logging模块主要分为四个部分: Loggers:提供应用程序直接使