Python下定义输出日志
# 话不多说,直接看代码,,,
# -*- coding:UTF-8 -*-
# python version: 2.7.15 #脚本名, 日志名,日志路径 import os
import sys
import time
import datetime
import socket # 定义日志路径
g_log_directory = "E:\logs" g_current_date = time.strftime('%Y-%m-%d')
g_scripi_name = sys.argv[0].split("\\")[-1] #定义一个类,拼接出日志名称 脚本名+当前日期+'.log'
class addStrings: def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c def __str__(self):
return self.a + self.b + self.c def __add__(self, other):
return self.a + self.b if __name__ == "__main__":
g_log_name = str(addStrings(str(g_scripi_name),str(g_current_date),".log" )) print "log_name:",g_log_name print "log_path:",g_log_directory class print_log(object):
@staticmethod #静态类 信息
def info(*message):
out_message = print_log.timeStamp() + ' ' + 'INFO: ' + str(message)
print_log.write(out_message) @staticmethod #静态类 警告
def warn(*message):
out_message = print_log.timeStamp() + ' ' + 'WARN: ' + str(message)
print_log.write(out_message) @staticmethod #静态类 错误
def error(*message):
out_message = print_log.timeStamp() + ' ' + 'ERROR: ' + str(message)
print_log.write(out_message) @staticmethod
def write(message):
log_path = os.path.join(g_log_directory, g_log_name)
with open(log_path, 'a+') as f:
f.write(message)
f.write('\n') @staticmethod
def timeStamp():
local_time = time.localtime(time.time())
return time.strftime("%Y-%m-%d %H:%M:%S", local_time) if __name__ == "__main__":
#print Print_log.timeStamp()
print_log.info("hello world")
pass aa = 1234
print_log.info(aa) print_log.info("log_path: ",g_log_directory)
print_log.warn("log_path: ",g_log_directory)
print_log.error("log_path: ",g_log_directory,os.path)
Python下定义输出日志的更多相关文章
- Python Logging模块 输出日志颜色、过期清理和日志滚动备份
# coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...
- Python同时向控制台和文件输出日志logging的方法 Python logging模块详解
Python同时向控制台和文件输出日志logging的方法http://www.jb51.net/article/66756.htm 1 #-*- coding:utf-8 -*- 2 import ...
- 关于elk中filebeat定义好日志输出,但是redis里面却没有输出内容的问题
这两天在搞elk的时候,filebeat中指定输出日志至Broker(此处Broker采用redis作为缓存),但是redis中却没有内容,所以就开始排查来 filebeat采用RPM安装的方式来的. ...
- python实现根据当前时间创建目录并输出日志
举个例子:比如我们要实现根据当前时间的年月日来新建目录来存放每天的日志,当前时间作为日志文件名称:代码如下: #!/usr/bin/env python3 # _*_ coding: utf-8 _* ...
- Hadoop2.9下运行JAR包时System.out.println的输出日志
根据博文——Hadoop日志存放路径详解中所述,Container日志包含ApplicationMaster日志和普通Task日志(关于其他类型的日志的详细说明请参考该博文,本文不再赘述) 所以可知, ...
- windows下tomcat切割日志按照日期输出
windows下tomcat默认不会把应用的日志信息输出在日志文件中的,只会在控制台打印. 解决方法: 1,下载工具cronolog-1.6.1-win32.zip,并解压. 2,把cronolog. ...
- Windows环境下tomcat配置日志输出
在Linux系统中,可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,catalina日志与Linux记录的内容有很大区别,大多信息 ...
- docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集
docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh ...
- .Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行)
.Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行) 遇到个诡异的问题,项目发布并寄宿到 IIS上后,Log4Net没有日志输出 1.原因分析 这不应该啊,所有的配置 ...
随机推荐
- 【MySQL】MySQL Workbench快捷键小结
执行当前行,ctrl+enter 执行整篇sql脚本: ctrl+shift+enter 格式化sql语句(美化sql语句):ctrl+b 自动补全:ctrl+space(似乎win10中这个快捷键失 ...
- Spring Boot项目中如何定制servlet-filters
本文首发于个人网站:Spring Boot项目中如何定制servlet-filters 在实际的web应用程序中,经常需要在请求(request)外面增加包装用于:记录调用日志.排除有XSS威胁的字符 ...
- Exceptionless—本地部署
参考:https://blog.csdn.net/shiyaru1314/article/details/76176236 自己采坑: ES 1.7.5版本不好使.使用最新版本6.X以上版本也不行 用 ...
- MIT线性代数:2.消元法
- 学习笔记39_EF的DAL层(精)
通用的分页查询 public IQueryable<UserInfo> GetPage<T>(int pageSize,int pageIndex,out int total, ...
- 学习笔记66_DBSCAN聚类算法
- Ubuntu 10.04——boa服务器的搭建
声明:自从第一次发表博文不知不觉过去了好久了,非常抱歉没能把自己的东西分享出来,但是由于上家公司本月初裁员,所以致使学的新东西成了半成品,无奈又换了一家,目前已工作三周了,自己也很想写博文分享知识, ...
- CSPS模拟 89
- js 将base64转为图片
var imgurl = response.data; $(".codeimg").attr('src','data:image/png;base64,'+imgurl); var ...
- 一个简单的C#爬虫程序
这篇这篇文章主要是展示了一个C#语言如何抓取网站中的图片.实现原理就是基于http请求.C#给我们提供了HttpWebRequest和WebClient两个对象,方便发送请求获取数据,下面看如何实 1 ...