Chinaunix首页 | 论坛 | 博客
  • 博客访问: 297942
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: Python/Ruby

2011-09-27 13:47:56

  1. #!/usr/bin/python
  2. # -*- coding: gbk -*-
  3. try:
  4.     import logging
  5.     import sys
  6. except ImportError, msg:
  7.     print '*** ERROR:', msg
  8.     sys.exit()


  9. #################################################################################################
  10. # #
  11. # Usage: log(filename, loglevel, logs) #
  12. # LOG MODULE eg: logging.debug('msg') DEBUG-INFO-WARNING-ERROR #
  13. # #
  14. #################################################################################################

  15. def log(filename,level,msg):
  16.     try:
  17.         f = open(filename, 'a')
  18.     except IOError, msg:
  19.         print msg
  20.         sys.exit()
  21.     else:
  22.         f.close

  23.     if level not in (0, 1, 2, 3):
  24.         print 'ERROR: Log level must in 0-3.'
  25.         print ' 0: debug'
  26.         print ' 1: info '
  27.         print ' 2: warning'
  28.         print ' 3: error'
  29.         print ''
  30.         print 'ModuleUsage: log(filename,level,msg)'
  31.         print ''
  32.         sys.exit()

  33.     mylog = filename
  34.     mylev = level
  35.     mymsg = msg

  36.     logformat = '%(asctime)s %(filename)s[line:%(lineno)d] [%(levelname)-8s]: %(message)s'
  37.     dateformat = '%Y-%m-%d %H:%M:%S'
  38.     cansolefmt = '**** [%(levelname)s]: %(message)s'

  39.     logging.basicConfig(
  40.                         level = logging.DEBUG,
  41.                         format = logformat,
  42.                         datefmt = dateformat,
  43.                         filename = mylog,
  44.                         filemode = 'a'
  45.                        )

  46.     console = logging.StreamHandler()
  47.     console.setLevel(logging.INFO)
  48.     formatter = logging.Formatter(cansolefmt)
  49.     console.setFormatter(formatter)
  50.     logging.getLogger('').addHandler(console)

  51.     if mylev == 0:
  52.         logging.debug(mymsg)
  53.     if mylev == 1:
  54.         logging.info(mymsg)
  55.     if mylev == 2:
  56.         logging.warning(mymsg)
  57.     if mylev == 3:
  58.         logging.error(mymsg)

  59.     logging.getLogger('').removeHandler(console)


  60. if __name__ == '__main__':
  61.     logfile = '/home/admin/test.log'
  62.     log(logfile, 0, 'This is a test for debug!')
  63.     log(logfile, 1, 'This is a test for info!')
  64.     log(logfile, 2, 'This is a test for warning!')
  65.     log(logfile, 3, 'This is a test for error!') logger.txt  
阅读(781) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

2011-09-28 19:51:00

http://www.bags2world.com/