青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

統(tǒng)計

  • 隨筆 - 44
  • 文章 - 0
  • 評論 - 86
  • 引用 - 0

常用鏈接

留言簿(6)

隨筆分類(31)

隨筆檔案(44)

Mining

最新隨筆

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

Pythong logging 到 Logging4cplus 的適配器

Python 的logging 模塊的Socket 和 Logging4cplus 的 socket 的格式是不一樣的, 現(xiàn)實中需要將日志發(fā)送到logging4cplus 的服務(wù)器, 不得已, 寫了個 Python logging 模塊到 logging4cplus的Adapter

 1 #!/usr/bin/env python
 2 #-*- coding: gbk -*-
 3 from struct import pack, unpack 
 4 
 5 class BufferPack(object):    
 6     def __init__(self):
 7         self.buffer = ''
 8         
 9     def addChar(self, s, unsigned=False):
10         self.buffer += pack(unsigned and '>b' or '>c', s )
11 
12     def addShort(self, s, unsigned=False):
13         self.buffer += pack(unsigned and '>H' or '>h', s )
14     
15     def addInt(self, s, unsigned=False):
16         self.buffer += pack(unsigned and '>I' or '>i', s )
17     
18     def addLong(self, s, unsigned=False):
19         self.buffer += pack(unsigned and '>L' or '>l', s )
20     
21     def addString(self, s):
22         self.addInt( len(s) ) 
23         self.buffer += s 
24     
25     def addBuffer(self, s):
26         self.buffer += s.buffer 
27 
28 class BufferUnpack(object):
29     
30     char_bits     = len( pack('>b', 0) ) 
31     short_bits     = len( pack('>H', 0) ) 
32     int_bits    = len( pack('>I', 0) ) 
33     long_bits     = len( pack('>L', 0) )    
34     
35     def __init__(self, buffer):
36         self.buffer = buffer 
37         self.pos = 0
38     
39     def _read_item(self, unpackstr, len):
40         v = unpack(unpackstr, self.buffer[self.pos:self.pos+len] )
41         self.pos += len 
42         return v 
43     
44     def readChar(self, unsigned=False):
45         return self._read_item(unsigned and '<b' or '<c', self.char_bits)
46     
47     def readShort(self, unsigned=False):    
48         return self._read_item(unsigned and '<H' or '<h', self.short_bits )
49         
50     def readInt(self, unsigned=False):
51         return self._read_item(unsigned and '<I' or '<i', self.int_bits )
52     
53     def readLong(self, unsigned=False):
54         return self._read_item(unsigned and '<L' or '<l', self.long_bits )
55     
56     def readString(self):
57         len = self.readInt()
58         v = self.buffer[self.pos:self.pos+len] 
59         self.pos += len
60         return v 
61 
62 def PackMessage( record ):
63     bp = BufferPack()
64     bp.addChar(2, True) 
65     bp.addChar(1, True) 
66     
67     bp.addString("{log.servername}"
68     bp.addString(record.name) 
69     bp.addInt(record.levelno*1000
70     bp.addString("")
71     bp.addString(record.msg)
72     bp.addString(str(record.threadName))
73     bp.addString(str(record.process))
74     bp.addInt( record.created ) 
75     bp.addInt( record.msecs ) 
76     bp.addString(record.filename)
77     bp.addInt( 1 )     
78     
79     pkg = BufferPack()
80     pkg.addInt(len(bp.buffer), True) 
81     pkg.addBuffer( bp ) 
82     
83     return pkg.buffer
84 
85 if __name__=="__main__":
86     import logging, logging.handlers 
87     
88     logger = logging.getLogger()
89     logging.handlers.SocketHandler.makePickle = lambda self,rc : PackMessage(rc) 
90     
91     hdlr = logging.handlers.SocketHandler('{logserver.ip}'8888
92     formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
93     hdlr.setFormatter(formatter)
94     logger.addHandler(hdlr)
95     logger.setLevel(logging.NOTSET)
96     
97     logger.info("hello")

使用的時候.
1. 在logging 創(chuàng)建SocketHandler 的時候, 需要修改logging.handlers.SocketHandler.makePickle 為方法 PackMessage
logging.handlers.SocketHandler.makePickle = lambda self,rc : PackMessage(rc)

2. 需要修改代碼中的兩部分內(nèi)容 {log.servername} 和 {logserver.ip}

posted on 2008-12-19 18:13 泡泡牛 閱讀(1021) 評論(0)  編輯 收藏 引用 所屬分類: Develop

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国内精品一区二区三区| 国产一区深夜福利| 午夜精品久久| 亚洲一卡二卡三卡四卡五卡| 日韩小视频在线观看专区| 最近看过的日韩成人| 免费观看成人鲁鲁鲁鲁鲁视频| 久久精品一区二区三区不卡牛牛| 久久婷婷激情| 91久久综合亚洲鲁鲁五月天| 亚洲无限av看| 久久久久.com| 欧美日韩综合在线| 国产精品日韩欧美一区二区三区| 狠狠色香婷婷久久亚洲精品| 亚洲精品国产精品国产自| 亚洲视屏在线播放| 久久综合九色综合网站 | 久久日韩粉嫩一区二区三区| 欧美国产日韩精品| 一区二区高清在线| 久久亚裔精品欧美| 欧美亚一区二区| 亚洲国产免费| 久久成人精品一区二区三区| 91久久久亚洲精品| 欧美一区二区三区视频| 欧美精品激情| 国产视频在线观看一区| 一本色道久久88综合日韩精品| 欧美一区二区三区四区视频| 欧美亚洲自偷自偷| 亚洲日本免费| 免费精品99久久国产综合精品| 欧美国产亚洲视频| 国产精品推荐精品| 一本色道久久综合亚洲精品高清| 久久久夜色精品亚洲| 亚洲在线免费| 欧美日韩在线精品| 亚洲精品在线观看视频| 免费观看欧美在线视频的网站| 亚洲免费视频观看| 国产精品久久久久久久久借妻 | 欧美成人自拍视频| 国产欧美精品一区二区三区介绍| 亚洲毛片视频| 久久久久久久999精品视频| 亚洲精品国产精品国自产在线| 久久久夜夜夜| 国产一区二区三区日韩欧美| 亚洲一区二区三区在线视频| 最近中文字幕日韩精品| 久久免费99精品久久久久久| 国产日韩亚洲欧美综合| 欧美一区午夜精品| 亚洲欧美在线高清| 国产精品永久免费观看| 午夜精品三级视频福利| 亚洲私人影吧| 国产精品素人视频| 久久国产精品久久国产精品| 校园春色国产精品| 国产亚洲精品7777| 久久久蜜臀国产一区二区| 欧美一区日韩一区| 亚洲成色999久久网站| 99国内精品久久| 国产专区精品视频| 久久视频在线视频| 老鸭窝91久久精品色噜噜导演| 在线观看欧美日韩| 亚洲区第一页| 国产精品99一区二区| 亚洲欧美一区二区三区极速播放| 亚洲免费在线精品一区| 国产毛片精品视频| 毛片基地黄久久久久久天堂| 免费亚洲网站| 亚洲一区一卡| 欧美一区二区视频在线观看2020| 亚洲大片精品永久免费| 亚洲人成毛片在线播放女女| 国产精品久久久一区二区三区| 性欧美在线看片a免费观看| 午夜久久久久久久久久一区二区| 尤物九九久久国产精品的分类| 亚洲欧洲精品一区二区| 国产乱理伦片在线观看夜一区 | 亚洲美女在线看| 国产精品久久久999| 久久午夜精品一区二区| 欧美精品九九| 久久久久免费视频| 欧美久久婷婷综合色| 亚洲欧美日韩综合一区| 另类人畜视频在线| 欧美一级日韩一级| 欧美黄网免费在线观看| 久久久久综合网| 欧美日韩蜜桃| 欧美大片免费久久精品三p| 国产精品福利久久久| 欧美激情第1页| 国产乱人伦精品一区二区| 欧美高清在线一区二区| 亚洲午夜精品网| 欧美一区二区黄色| 亚洲精品一区二区三区婷婷月| 亚洲一区二区三区在线视频| 在线免费观看欧美| 亚洲综合激情| 在线亚洲观看| 欧美巨乳在线| 久久精品国产成人| 欧美日产在线观看| 欧美第一黄色网| 国产欧美一区二区精品性| 日韩视频免费观看高清在线视频| 有坂深雪在线一区| 午夜在线a亚洲v天堂网2018| 亚洲一级电影| 欧美日韩在线免费视频| 亚洲国产另类 国产精品国产免费| 国产亚洲aⅴaaaaaa毛片| 在线视频免费在线观看一区二区| 亚洲精品一线二线三线无人区| 久久成人精品| 久久久www| 国产一区二区三区网站| 亚洲欧美日韩在线一区| 欧美一激情一区二区三区| 欧美日韩国产电影| 免费中文日韩| 亚洲第一区在线观看| 久久日韩粉嫩一区二区三区 | 亚洲国产一二三| 亚洲精品乱码久久久久久蜜桃91| 久久夜色精品国产欧美乱极品| 老司机久久99久久精品播放免费| 激情久久久久久久| 久久狠狠亚洲综合| 卡通动漫国产精品| 亚洲国产三级网| 欧美激情亚洲一区| 亚洲精品美女91| 亚洲午夜视频在线观看| 欧美日韩亚洲一区二区三区在线观看| 日韩午夜电影av| 午夜精品国产更新| 欧美成人小视频| 亚洲免费观看在线视频| 亚洲女优在线| 国产亚洲欧美aaaa| 久久九九热re6这里有精品| 欧美成在线观看| 中文av一区二区| 国产日产精品一区二区三区四区的观看方式 | 国产喷白浆一区二区三区 | 国产精品久久久久aaaa| 欧美影院视频| 亚洲国产91| 亚洲欧美日韩在线不卡| 韩国av一区二区三区在线观看| 久久国产精品久久久久久| 久久国产手机看片| 亚洲国产精品专区久久| 午夜精品视频一区| 1000部国产精品成人观看| 欧美激情精品久久久久久久变态| 亚洲精品综合精品自拍| 午夜精品福利在线| 亚洲第一天堂av| 国产精品普通话对白| 久久夜色精品国产噜噜av| 91久久精品一区二区三区| 一区二区三区高清不卡| 国产日韩亚洲欧美精品| 欧美欧美天天天天操| 久久成人综合视频| 日韩视频一区二区| 蜜臀av在线播放一区二区三区| 亚洲一区3d动漫同人无遮挡| 欧美美女福利视频| 久久免费国产精品| 亚洲欧美日韩精品久久奇米色影视 | 美女成人午夜| 小黄鸭视频精品导航| 亚洲精品影视| 一区视频在线| 国产欧美一区视频| 欧美视频免费在线观看| 欧美xxxx在线观看| 久久九九精品99国产精品| 亚洲一区二区影院| 亚洲精品中文字幕在线| 欧美α欧美αv大片| 久久精品三级| 亚洲欧美日本精品| 亚洲午夜精品久久久久久app|