DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計

          積分與排名

          好友之家

          最新評論

          python log

          #!/usr/bin/python
          """Publog.py
          CLASSES Logger
          if you want to use this logger .you must set two value
          ??? 1:set the output level
          ??? 2:set the outs--output files's path /default is console
          """
          __version__= '$Version 1.0$'
          import sys
          import os
          import time
          #log level define begin
          DEBUG=0
          INFO=1
          WARN=2
          ERROR=3
          FATAL=4
          NOLOG=5
          #log level define end
          outs=['con']
          level=NOLOG
          #min is 10k
          maxsize=10000
          class Logger:
          ??? def __init__(self,head='common log'):
          ??????? self.head=head
          ??????? self.output=outs
          ??????? if maxsize <10000:
          ??????????? self.maxsize=10000
          ??????? else:
          ??????????? self.maxsize=maxsize
          ??????? if level >5 | level<0:
          ??????????? self.level=NOLOG
          ??????? else:
          ??????????? self.level=level
          ??? #debug
          ??? def debug(self,str=''):
          ??????? if DEBUG>=self.level:
          ??????????? self.writelog(str)
          ??????? else:
          ??????????? return
          ??? #info
          ??? def info(self,str=''):
          ??????? if INFO>=self.level:
          ??????????? self.writelog(str)
          ??????? else:
          ??????????? return
          ??? #warn
          ??? def warn(self,str=''):
          ??????? if WARN>=self.level:
          ??????????? self.writelog(str)
          ??????? else:
          ??????????? return
          ??? #error
          ??? def error(self,str=''):
          ??????? if ERROR>=self.level:
          ??????????? self.writelog(str)
          ??????? else:
          ??????????? return
          ??? #fatal
          ??? def fatal(self,str=''):
          ??????? if FATAL>=self.level:
          ??????????? self.writelog(str)
          ??????? else:
          ??????????? return
          ??? #output
          ??? def writelog(self,str=''):
          ??????? prtstr=self.head+" : "+str+"? ("+time.ctime() +")"
          ??????? for path in self.output:
          ??????????? if path=='con':
          ??????????????? print prtstr
          ??????????? else:
          ??????????????? try:
          ??????????????????? if os.path.exists(path):
          ??????????????????????? if os.stat(path)[6] >self.maxsize:
          ??????????????????????????? newname=self.getname(path)
          ??????????????????????????? if os.path.exists(newname):
          ??????????????????????????????? os.remove(newname)
          ??????????????????????????? os.rename(path,newname)
          ??????????????????? logfile=open(path,"a+")???????????????????????????
          ??????????????????? try:
          ??????????????????????? logfile.write(prtstr+os.linesep)
          ??????????????????????? logfile.close()
          ??????????????????? finally:
          ??????????????????????? if not logfile.closed:
          ??????????????????????????? logfile.close()
          ??????????????? except IOError:
          ??????????????????? pass
          ??? def getname(self,path):
          ??????? dirname,filename=os.path.split(path)???????
          ??????? # filename=str(time.localtime()[0:3])+filename
          ??????? year,month,date,hour,min=time.localtime()[0:5]
          ??????? filename=str(year)+"-"+str(month)+"-"+str(date)+"-"+str(hour)+"-"+str(min)+"-"+filename
          ??????? newname=os.path.join(dirname,filename)
          ??????? return newname
          def test():
          ??? global level,outs
          ??? level=INFO
          ??? outs=['con','D:/edi/log.txt']
          ??? maxsize=20000
          ??? logger=Logger("==test head")
          ??? logger.debug("debug")
          ??? logger.info("info")
          ??? logger.error("error")
          if __name__== '__main__':
          ??? test()
          ???????

          posted on 2006-09-20 22:19 dreamstone 閱讀(280) 評論(0)  編輯  收藏 所屬分類: 片段

          主站蜘蛛池模板: 金阳县| 津市市| 武功县| 漳浦县| 四子王旗| 南部县| 扶风县| 当雄县| 温宿县| 华亭县| 宁强县| 南部县| 南平市| 东阳市| 中西区| 临城县| 崇左市| 南丰县| 乌拉特中旗| 葫芦岛市| 温宿县| 阜阳市| 宾阳县| 滦南县| 武义县| 屯昌县| 元阳县| 深泽县| 江源县| 博兴县| 辉县市| 鹤峰县| 古丈县| 双牌县| 神农架林区| 隆回县| 河南省| 克什克腾旗| 通化县| 伽师县| 松潘县|