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.原因分析 这不应该啊,所有的配置 ...
随机推荐
- NodeJs 实现 WebSocket 即时通讯(版本二)
服务端代码 websocket.js 'use strict' const WebSocket = require('ws'); const connections = new Map(); cons ...
- win10系统格式化、恢复出厂设置的操作步骤
恢复电脑出厂设置具体步骤
- 条款03:尽肯使用const
定义常量 define 是一个Compile-Time的概念,它的生命周期止于编译器期,它存在与程序的代码段,在实际程序中它只是一个常数.一个命令中的参数.并没有实际的存在 const常量存在于程序的 ...
- C语言作业007
问题 答案 这个作业属于那个课程 C语言程序设计1 这个作业要求在哪里 我在这个课程的目的是 学习并掌握C语言 这个作业在那个具体方面帮助我实现目标 参考文献 四 作业格式 1PTA作业贴图 1.1题 ...
- Spring 动态代理 之 but was actually of type 'com.sun.proxy.$Proxy14 Exception
今天在写Spring的引介代理的时候,报了一个错: Exception in thread "main" org.springframework.beans.factory.Bea ...
- MIT线性代数:11.矩阵空间、秩1矩阵和小世界图
- [转载]1.2 UiPath第一个案例Hello World
1.弹出框Hello World 在弹出的窗口中创建序列 在新建的序列中,在搜索框中输入“Message Box”,Studio自动搜索出结果. 选中“Message Box”,然后拖拽到界面带+号区 ...
- Python类属性与实例属性理解
按理讲,类属性改变,类的实例对象这个属性也应该被改变,但是在python中实际却不是这样 class test(): name = 111 a = test() b = test() a.name = ...
- China .NET Conf 2019-.NET技术架构下的混沌工程实践
这个月的8号.9号,个人很荣幸参加了China.NET Conf 2019 , 中国.NET开发者峰会,同时分享了技术专题<.NET技术架构下的混沌工程实践>,给广大的.NET开发小伙伴介 ...
- K8S入门系列之集群二进制部署-->master篇(二)
组件版本和配置策略 组件版本 Kubernetes 1.16.2 Docker 19.03-ce Etcd 3.3.17 https://github.com/etcd-io/etcd/release ...