python的logging的配置
在python项目中,开发环境是windows环境,发布环境是linux系统。
import logging
import logging.handlers
import platform
import os
import time import mod_config # 日志格式化输出
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
# 日期格式
DATE_FORMAT = "%Y/%m/%d %H:%M:%S" def init_config():
isLinux = "Linux" in platform.platform() if isLinux:
log_path = mod_config.getConfig("logging","path")
else:
log_path = "d:\\logs\\applogs" if not os.path.exists(log_path):
os.makedirs(log_path)
#日志设置
localtime = time.localtime(time.time())
log_file_name = time.strftime("%Y-%m-%d",localtime) rht = logging.handlers.TimedRotatingFileHandler(os.path.join(log_path,"datatransfer.log"), 'D')
fmt = logging.Formatter("%(asctime)s %(pathname)s %(filename)s %(funcName)s %(lineno)s \
%(levelname)s - %(message)s", "%Y-%m-%d %H:%M:%S")
rht.setFormatter(fmt) #fp = logging.FileHandler(os.path.join(log_path,log_file_name + '.log'), encoding = 'utf-8')
fs = logging.StreamHandler()
#日志设置
log_level = logging.DEBUG
log_level_config = mod_config.getConfig("logging","level")
if log_level_config == "debug":
log_level = logging.DEBUG
elif log_level_config == "info":
log_level = logging.INFO
elif log_level_config == "warn":
log_level = logging.WARN
elif log_level_config == "error":
log_level = logging.ERROR
elif log_level_config == "fatal":
log_level = logging.FATAL
else:
log_level = logging.ERROR logging.basicConfig(level = log_level, format = LOG_FORMAT, datefmt = DATE_FORMAT, handlers = [fs,rht])
python的logging的配置的更多相关文章
- django/python日志logging 的配置以及处理
		日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常.在生产环境下有很大的用处.在java 开发中通常用 log4j,logback 等三方组件.那么在 django中是怎么处 ... 
- python - django (logging 日志配置和简单使用)
		1. settings 配置 # 配置日志 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 's ... 
- 转  使用Python的logging.config.fileConfig配置日志
		Python的logging.config.fileConfig方式配置日志,通过解析conf配置文件实现.文件 logglogging.conf 配置如下: [loggers]keys=root,f ... 
- Python之logging模块
		一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ... 
- python模块 ---logging模块
		摘要by crazyhacking: 与log4cxx一样,分为三个部分,logger, handler,formatter. 详细内容参考:1官网http://docs.python.org/2/h ... 
- python 多进程 logging:ConcurrentLogHandler
		python 多进程 logging:ConcurrentLogHandler python的logging模块RotatingFileHandler仅仅是线程安全的,如果多进程多线程使用,推荐 Co ... 
- python的logging模块之读取yaml配置文件。
		python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ... 
- Python:logging 的巧妙设计
		引言 logging 的基本用法网上很多,这里就不介绍了.在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用了这样的 ... 
- Python模块——logging模块
		logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ... 
随机推荐
- nc命令用法举
			什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉.因为它短小精悍.功能实用,被设计为一个简单.可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server ... 
- [ZJOI2009]假期的宿舍 二分图匹配匈牙利
			[ZJOI2009]假期的宿舍 二分图匹配匈牙利 一个人对应一张床,每个人对床可能不止一种选择,可以猜出是二分图匹配. 床只能由本校的学生提供,而需要床的有住校并且本校和外校两种人.最后统计二分图匹配 ... 
- MongoDB-python操作mongodb
			安装 pip install pymongo 连接mongodb from pymongo import MongoClient my_client = MongoClient("127.0 ... 
- 关于pl/sql打开后database为空的问题解决办法
			前置条件:楼主是在虚拟机里面进行安装oracle和pl/sql的,所以我的安装后,发现我的pl/sql显示的database是空的,当然楼主会检查我的tnsnames.ora是不是配置正确了,但是检查 ... 
- Java 使用线程池分批插入或者更新数据
			需求:在开发业务报表时,需要从MySQL数据库读取数据后进行操作,然后写入数据库,使用定时任务跑批. 分析:①兼顾性能,② MySQL没有Oracle那么方便.强大的存储过程.综上所述,使用线程池以 ... 
- HTTP header 介绍  转载
			这篇文章为大家介绍了HTTP头部信息,中英文对比分析,还是比较全面的,若大家在使用过程中遇到不了解的,可以适当参考下 HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/ ... 
- Mysql中行转列和列转行
			一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id ... 
- vue 中引入第三方js库
			以 jQuery 为例 一.绝对路径直接引入,全局可用 主入口页面 index.html 中用 script 标签引入: <script src="./static/jquery-1. ... 
- Swift 数据类型
			Swift 提供了非常丰富的数据类型,以下列出了常用了几种数据类型: Int 一般来说,你不需要专门指定整数的长度.Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同: 在32位 ... 
- Flask之加载静态资源
			Flask之加载静态资源 1.加载css样式 <link rel="stylesheet" href="{{ url_for('static',filename=' ... 
