# 话不多说,直接看代码,,,

  1. # -*- coding:UTF-8 -*-
  2. # python version: 2.7.15
  3.  
  4. #脚本名, 日志名,日志路径
  5.  
  6. import os
  7. import sys
  8. import time
  9. import datetime
  10. import socket
  11.  
  12. # 定义日志路径
  13. g_log_directory = "E:\logs"
  14.  
  15. g_current_date = time.strftime('%Y-%m-%d')
  16. g_scripi_name = sys.argv[0].split("\\")[-1]
  17.  
  18. #定义一个类,拼接出日志名称 脚本名+当前日期+'.log'
  19. class addStrings:
  20.  
  21. def __init__(self, a, b, c):
  22. self.a = a
  23. self.b = b
  24. self.c = c
  25.  
  26. def __str__(self):
  27. return self.a + self.b + self.c
  28.  
  29. def __add__(self, other):
  30. return self.a + self.b
  31.  
  32. if __name__ == "__main__":
  33. g_log_name = str(addStrings(str(g_scripi_name),str(g_current_date),".log" ))
  34.  
  35. print "log_name:",g_log_name
  36.  
  37. print "log_path:",g_log_directory
  38.  
  39. class print_log(object):
  40. @staticmethod #静态类 信息
  41. def info(*message):
  42. out_message = print_log.timeStamp() + ' ' + 'INFO: ' + str(message)
  43. print_log.write(out_message)
  44.  
  45. @staticmethod #静态类 警告
  46. def warn(*message):
  47. out_message = print_log.timeStamp() + ' ' + 'WARN: ' + str(message)
  48. print_log.write(out_message)
  49.  
  50. @staticmethod #静态类 错误
  51. def error(*message):
  52. out_message = print_log.timeStamp() + ' ' + 'ERROR: ' + str(message)
  53. print_log.write(out_message)
  54.  
  55. @staticmethod
  56. def write(message):
  57. log_path = os.path.join(g_log_directory, g_log_name)
  58. with open(log_path, 'a+') as f:
  59. f.write(message)
  60. f.write('\n')
  61.  
  62. @staticmethod
  63. def timeStamp():
  64. local_time = time.localtime(time.time())
  65. return time.strftime("%Y-%m-%d %H:%M:%S", local_time)
  66.  
  67. if __name__ == "__main__":
  68. #print Print_log.timeStamp()
  69. print_log.info("hello world")
  70. pass
  71.  
  72. aa = 1234
  73. print_log.info(aa)
  74.  
  75. print_log.info("log_path: ",g_log_directory)
  76. print_log.warn("log_path: ",g_log_directory)
  77. print_log.error("log_path: ",g_log_directory,os.path)

Python下定义输出日志的更多相关文章

  1. Python Logging模块 输出日志颜色、过期清理和日志滚动备份

    # coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...

  2. Python同时向控制台和文件输出日志logging的方法 Python logging模块详解

    Python同时向控制台和文件输出日志logging的方法http://www.jb51.net/article/66756.htm 1 #-*- coding:utf-8 -*- 2 import ...

  3. 关于elk中filebeat定义好日志输出,但是redis里面却没有输出内容的问题

    这两天在搞elk的时候,filebeat中指定输出日志至Broker(此处Broker采用redis作为缓存),但是redis中却没有内容,所以就开始排查来 filebeat采用RPM安装的方式来的. ...

  4. python实现根据当前时间创建目录并输出日志

    举个例子:比如我们要实现根据当前时间的年月日来新建目录来存放每天的日志,当前时间作为日志文件名称:代码如下: #!/usr/bin/env python3 # _*_ coding: utf-8 _* ...

  5. Hadoop2.9下运行JAR包时System.out.println的输出日志

    根据博文——Hadoop日志存放路径详解中所述,Container日志包含ApplicationMaster日志和普通Task日志(关于其他类型的日志的详细说明请参考该博文,本文不再赘述) 所以可知, ...

  6. windows下tomcat切割日志按照日期输出

    windows下tomcat默认不会把应用的日志信息输出在日志文件中的,只会在控制台打印. 解决方法: 1,下载工具cronolog-1.6.1-win32.zip,并解压. 2,把cronolog. ...

  7. Windows环境下tomcat配置日志输出

    在Linux系统中,可以通过tail  -f  catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,catalina日志与Linux记录的内容有很大区别,大多信息 ...

  8. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集

    docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh ...

  9. .Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行)

    .Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行) 遇到个诡异的问题,项目发布并寄宿到 IIS上后,Log4Net没有日志输出 1.原因分析 这不应该啊,所有的配置 ...

随机推荐

  1. 【Leetcode 做题学算法周刊】第二期

    首发于微信公众号<前端成长记>,写于 2019.11.05 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 20 ...

  2. Mysql 索引类型+索引方法

    MYSQL索引: PRIMARY(唯一且不能为空:一张表只能有一个主键索引). INDEX(普通索引). UNIQUE(唯一性索引). FULLTEXT(全文索引:用于搜索很长一篇文章的时候,效果最好 ...

  3. html获得当前日期

    <html> <head> <title> </title> </head> <body> <!-- 获得当前日期(年月日 ...

  4. 关于Map集合注意事项

    今日代码中循环Map时,采用循环主键 Map<Integer,Map<Integer,String>> status =  new HashMap<>(); Set ...

  5. Python实战练习——打印日历教程

    很长一段时间没有接触过C语言了,想来做这一行当已经有三两年了. 今天突然想起来以前用C语言在VC6上写代码的日子,想了想以前的一些实战练习. 所以今天打算用Python来写一个C语言以前练习的题目-日 ...

  6. 【XSY1986】【BZOJ1455】罗马游戏

    就是一模板题. 合并就直接merge. pop就是将自己的值设为一,再将自己的左右儿子合并即可. 查询直接找到堆顶,输出. 模板左偏树 代码: #include<bits/stdc++.h> ...

  7. C++学习笔记2_函数.函数指针.函数模板

    1. 内联函数void printAB(int a,int b){ cout<<(a)<<(b)<<endl;}int main(void){ for(int i= ...

  8. [考试反思]1018csp-s模拟测试79:荒谬

    对,如果你想把第5名粘进来,那么图片就是这么夸张. 然而和我并没有什么关系,实在是太菜了. 但是还是想吐槽出题人是真心没良心啊...做了达哥的良心题之后眼光极其挑剔 这套题的部分分设置非常愚蠢,唯一一 ...

  9. NOIP模拟 16

    嗯我已经是个不折不扣的大辣鸡了 上次的T3就弃了,这次又弃 颓废到天际 T1 巨贪贪心算法 我就是一个只会背板子的大辣鸡 全裸的贪心看不出来,只会打板子 打板子,加特判,然后一无进展,原题不会,这就是 ...

  10. 零基础Linux入门之《Linux就该这么学》

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...