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

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統計

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

常用鏈接

留言簿(6)

隨筆分類(31)

隨筆檔案(44)

Mining

最新隨筆

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

Pythong logging 到 Logging4cplus 的適配器

Python 的logging 模塊的Socket 和 Logging4cplus 的 socket 的格式是不一樣的, 現實中需要將日志發送到logging4cplus 的服務器, 不得已, 寫了個 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 創建SocketHandler 的時候, 需要修改logging.handlers.SocketHandler.makePickle 為方法 PackMessage
logging.handlers.SocketHandler.makePickle = lambda self,rc : PackMessage(rc)

2. 需要修改代碼中的兩部分內容 {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>
            久久久99爱| 亚洲精品国产精品国自产观看浪潮 | 亚洲精品欧洲| 国产欧美亚洲一区| 国产在线观看精品一区二区三区| 亚洲欧美三级伦理| 亚洲先锋成人| 午夜精品久久一牛影视| 久久精品在线观看| 久久久福利视频| 欧美插天视频在线播放| 欧美激情四色| 国产老肥熟一区二区三区| 黄色成人av网站| 艳妇臀荡乳欲伦亚洲一区| 中文日韩电影网站| 久久天堂成人| 欧美国产日产韩国视频| 国产日韩欧美91| 国内精品久久久久国产盗摄免费观看完整版 | 91久久黄色| 91久久精品美女高潮| 一本色道久久88亚洲综合88| 性高湖久久久久久久久| 欧美高清在线| 国产精品区免费视频| 国产一区欧美| 亚洲天堂网在线观看| 久久www免费人成看片高清| 欧美福利精品| 欧美一级午夜免费电影| 欧美日韩免费高清一区色橹橹| 亚洲女同性videos| 久久综合国产精品台湾中文娱乐网| 日韩午夜精品视频| 亚洲欧美精品在线观看| 免费成人性网站| 亚洲一区999| 免费中文日韩| 韩国精品主播一区二区在线观看| 国产日韩成人精品| 亚洲国产精品女人久久久| 亚洲日本激情| 午夜影院日韩| 久久aⅴ国产欧美74aaa| 欧美第一黄色网| 亚洲日本视频| 久久av红桃一区二区小说| 欧美大片在线观看| 一本色道久久综合亚洲精品高清| 久久欧美中文字幕| 国产亚洲一区二区精品| 欧美一区在线看| 一本色道精品久久一区二区三区| 欧美理论电影网| 99精品欧美一区二区蜜桃免费| 欧美高清不卡| 欧美91福利在线观看| 亚洲国产中文字幕在线观看| 欧美高清视频在线播放| 免费高清在线一区| 亚洲精品日韩在线观看| 亚洲美女在线观看| 欧美日韩国产精品自在自线| 日韩一区二区福利| 亚洲精品久久久久久久久久久| 欧美大片免费观看在线观看网站推荐| 黄色小说综合网站| 欧美11—12娇小xxxx| 久久人人爽人人爽| 尤妮丝一区二区裸体视频| 久久精品国产91精品亚洲| 欧美一区二区视频在线观看| 国产一区二区三区高清播放| 老巨人导航500精品| 毛片一区二区三区| 一区二区三区精品视频在线观看 | 亚洲第一毛片| 欧美大片免费看| 亚洲午夜久久久久久尤物| 亚洲一区二区av电影| 国产一区二区三区精品欧美日韩一区二区三区| 久久久久91| 欧美护士18xxxxhd| 午夜精品婷婷| 欧美成人午夜剧场免费观看| 欧美.日韩.国产.一区.二区| 妖精成人www高清在线观看| 亚洲午夜av在线| 在线电影院国产精品| 亚洲精品精选| 狠狠色伊人亚洲综合网站色| 亚洲精品一二区| 免费观看欧美在线视频的网站| 狠狠色伊人亚洲综合成人| 亚洲人屁股眼子交8| 国产伦精品一区二区三区视频黑人 | 亚洲午夜小视频| 一区二区三区视频在线| 红桃视频国产一区| 亚洲精品一区二区三区在线观看| 国产精品免费网站在线观看| 久色婷婷小香蕉久久| 欧美日韩成人网| 久久亚洲精选| 国产精品视频精品视频| 美日韩精品免费观看视频| 欧美日韩精品综合在线| 久热国产精品| 国产精品久久久久久妇女6080 | 亚洲精品小视频| 亚洲午夜精品在线| 亚洲激情小视频| 亚洲婷婷免费| 99这里有精品| 欧美大秀在线观看| 另类尿喷潮videofree| 欧美午夜剧场| 亚洲黄一区二区三区| 黄色成人片子| 欧美在现视频| 六月婷婷一区| 亚洲国产精品一区| 亚洲午夜女主播在线直播| 影音先锋欧美精品| 欧美一区二视频| 午夜视频久久久久久| 欧美成人蜜桃| 久久精品中文| 国产欧美亚洲一区| 亚洲欧美日本在线| 欧美一区二区高清| 欧美日韩一区二区三区在线视频| 欧美成人综合网站| 亚洲黄色在线| 欧美高清视频在线| 欧美激情精品久久久久久| 精品1区2区| 能在线观看的日韩av| 欧美第一黄色网| 亚洲国产小视频| 欧美一区二区三区视频免费播放| 久久激情视频久久| 国产精品免费一区豆花| 午夜精品成人在线视频| 午夜视频久久久久久| 国产欧美日韩免费| 欧美一区国产一区| 久久美女性网| 在线日韩中文字幕| 欧美大片va欧美在线播放| 亚洲三级观看| 亚洲视频在线观看| 国产日产欧美一区| 久久精品夜色噜噜亚洲aⅴ| 欧美一区=区| 国产有码在线一区二区视频| 另类春色校园亚洲| 亚洲三级电影全部在线观看高清| 亚洲天堂av在线免费观看| 欧美午夜不卡视频| 亚洲一区三区在线观看| 久久精品国产综合| 亚洲国产导航| 欧美激情一区二区在线| 一本大道久久a久久精二百| 午夜在线观看免费一区| 国内外成人免费视频| 欧美顶级大胆免费视频| 亚洲一区二区在线播放| 欧美国产精品| 欧美一区二区高清| 亚洲日韩成人| 先锋亚洲精品| 亚洲精品免费网站| 久久爱www| 最新亚洲视频| 国产精品一区二区黑丝| 久久亚洲欧洲| 亚洲综合视频网| 亚洲国产成人在线视频| 欧美一区二区三区啪啪| 亚洲日本理论电影| 国产情人综合久久777777| 欧美激情aaaa| 午夜伦欧美伦电影理论片| 91久久精品日日躁夜夜躁国产| 久久成人资源| 亚洲网站视频福利| 亚洲人成7777| 亚洲高清不卡一区| 国产一区二区丝袜高跟鞋图片| 欧美女同视频| 香蕉久久夜色精品| 国产伦精品一区二区三区四区免费| 你懂的国产精品永久在线| 欧美中文在线视频| 99re66热这里只有精品3直播| 在线免费不卡视频| 国内精品视频在线播放|