关键代码

调用方:

 from Logger import MyLogger
import logging
import sys, os def getLogger():
# get the file name
fileUrl = sys.argv[0]
filepath, tmpfilename = os.path.split(fileUrl)
shotname, extension = os.path.splitext(tmpfilename) # get the logger object
logger = MyLogger(logname='log.txt', loglevel=1, logger=shotname).getlog()
return logger logger =getLogger()
logger.debug("Hoory, show!")

Logger.py

 #开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件
import logging class MyLogger():
format_dict = {
1 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
} def __init__(self, logname, loglevel, logger):
'''
指定保存日志的文件路径,日志级别,以及调用文件
将日志存入到指定的文件中
''' # 创建一个logger
self.logger = logging.getLogger(logger)
self.logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件
fh = logging.FileHandler(logname)
fh.setLevel(logging.DEBUG) # 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG) # 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s %(name)s %(thread)d %(levelname)s %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter) # only first time need to add the handler
if(self.logger.hasHandlers() == False):
self.logger.addHandler(fh)
self.logger.addHandler(ch) def getlog(self):
return self.logger

Logger相关属性

可以通过下面的代码来进行设置(基本上不需要这么设置,因为通过getlogger()获取的logger对象并没有集成root的相关配置):

 logging.basicConfig(filename="log2.txt", level=logging.WARNING)

关于format

Python的log的更多相关文章

  1. python分析log

    最近做的一个项目,系统log下会生成如下的log(部分): [-- ::] Processing File transfer configured from ship to shore.... [-- ...

  2. python实时处理log文件脚本

    这个Python脚本是用来对实时文件的内容监控,比如 Error 或者 time out 字段都可以进行自定义:算是我的第一个真正的Python脚本,自己感觉还是比较臃肿,不过打算放到blog上记录一 ...

  3. 利用python 提取log 文件里的关键句子,并进行统计分析

    利用python开发了一个提取sim.log 中的各个关键步骤中的时间并进行统计的程序: #!/usr/bin/python2.6 import re,datetime file_name='/hom ...

  4. python之log

    #!/usr/bin/python # -*- coding: UTF- -*- ''' ''' import logging # 设置输出文件.文件格式和日志级别 logging.basicConf ...

  5. python打印log重复问题

    本博客转载于:http://www.cnblogs.com/huang-yc/p/9209096.html,写得真不错 浅析python日志重复输出问题 目录 问题起源: 问题解析 解决办法 1.改名 ...

  6. Python之log的处理方式

    配置文件: #! /usr/bin/env python # -*- coding: utf-8 -*- """ logging配置 """ ...

  7. Python Django log日志

    log日志 log开发日志 一.创建项目 1.python -m venv ll_env # 创建虚拟环境 2.source ll_env/bin/activate # 激活虚拟环境 3.pip in ...

  8. python运用 - log信息提取(知识: 遍历 | os )

    运用到的python知识点: excel相关:https://www.cnblogs.com/yaner2018/p/11269873.html 字典: python字典的几种方式: 1)key值遍历 ...

  9. caffe中accuracy和loss用python从log日志里面获取

    import re import pylab as pl import numpy as np if __name__=="__main__": accuracys=[] loss ...

  10. python 读取 log日志的编码问题

    1.我要读取log日志的”执行成功”的个数,log日志编码格式为GBK 2.显示报错,大致意思是说utf-8的代码不能解析log日志 3.后来想想把log日志用GBK编码读出来,写到新文件中,用utf ...

随机推荐

  1. web api .net C# mvc API返回XML文档的解析并取值

    [HttpGet] public System.Net.Http.HttpResponseMessage GetNotify() { var xmlstring = @" <xml&g ...

  2. 动态创建form 完成form 提交

    document.body.appendChild(jForm) won't work because jForm is not a dom element, it is a jQuery objec ...

  3. MySQL 多行数据合并 GROUP_CONCAT

    表结构及数据 DROP TABLE IF EXISTS `course`;CREATE TABLE `course` ( `name` varchar(255) CHARACTER SET utf8 ...

  4. afnetwork moya 都符合通信协议七层模型

    都是在会话层作出优化:安全.存储.会话控制: 在表示层作出数据处理: 在应用层提供请求响应的便捷接口.

  5. 如何开发出优秀的APICloud应用

    APICloud定制平台项目实施规范 APICloud应用优化策略Top30 如何开发出运行体验良好.高性能的App 如何开发出客户满意.能够顺利交付的App 1. 引擎或模块问题: 遇到应用层无法解 ...

  6. 014_matlab读取ecxel(直接导入)

    视频教程:https://v.qq.com/x/page/c3039b5htwx.html 资料下载:https://download.csdn.net/download/xiaoguoge11/12 ...

  7. vue使用插件的流程

    1.引入vue 2.引入插件 3.通过vue.use()调用 例子:使用router插件 import Vue from "vue"; import VueRouter from ...

  8. Centos pip 安装uwsgi 报错“fatal error: Python.h: No such file or directory”

    解决方法: 安装python-devel即可,注意,不是python-dev yum -y install python-devel

  9. 系统权限远程线程注入到Explorer.exe

    目录 提升为系统权限,注入到explorer中 一丶简介 二丶注入效果图 提升为系统权限,注入到explorer中 一丶简介 我们上一面说了系统服务拥有系统权限.并且拥有system权限.还尝试启动了 ...

  10. nginx 配置ssl

    单向SSL配置实例: server{ listen ssl; server_name www..com; root /data/wwwroot/www..com/ ; index index.html ...