1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
B
9ëEfr*ã@sddlZddlZddlZddlZddlZddlZddlmZddlm    Z    Gdd„dƒZ
dd„Z dd    „Z d
d „Z d d „Zdd„Zdd„Zd'dd„Zdd„Zdd„Zd(dd„Zd)dd„ZiZd*dd„Ze     ¡fdd „Zde     ¡fd!d"„Zd#d$„Ze     ¡fd%d&„ZdS)+éN)Úprintlog)Útoolc@seZdZedd„ƒZdS)ÚLogUtilc    Cspt|ddd}zRt|ddd:}| ¡}x*|D]"}| d |¡¡dkr.| |¡q.WWdQRXWd| ¡XdS)NÚwzutf-8)ÚmodeÚencodingÚr)rz{}r)ÚopenÚ    readlinesÚfindÚformatÚwriteÚclose)ÚclsÚkeyÚpathZ target_pathÚfwÚfÚlinesÚline©rú0D:\workspace\trade_sell\log_module\log_export.pyÚextract_log_from_key s
zLogUtil.extract_log_from_keyN)Ú__name__Ú
__module__Ú __qualname__Ú classmethodrrrrrr srcCs,t d |¡d t ¡|¡d ||¡¡dS)Nu{} å¤„理数据范围z${}/sell_logs/gp/l2/l2_process.{}.logz{}/l2_process_{}.log)rrr ÚconstantÚget_path_prefix)ÚcodeÚdateÚdirrrrÚ__export_l2_pos_ranges r"cCs&t |d t ¡|¡d ||¡¡dS)Nz"{}/sell_logs/gp/l2/l2_trade.{}.logz{}/l2_trade_{}.log)rrr rr)rr r!rrrÚ__export_l2_trade_log"sr#cCs&t |d t ¡|¡d ||¡¡dS)Nz){}/sell_logs/gp/l2/l2_trade_cancel.{}.logz{}/l2_trade_cancel_{}.log)rrr rr)rr r!rrrÚ__export_l2_trade_cancel_log(sr$c    Cs|tj ¡ d¡}t ¡›d|›d}t|ddB}| ¡}x2|rl| d¡d}t|ƒdkrbt    |ƒ| ¡}q<WWdQRXdS)    Nz%Y-%m-%dz/sell_logs/gp/l2/l2_process.z.logzutf-8)rú:éÿÿÿÿé–)
ÚdatetimeÚnowÚstrftimerrr    ÚreadlineÚsplitÚintr)r Ú    file_pathrrÚtime_rrrÚ__analyse_pricess_time-s r0cCsnt|ƒdkrdStj ¡ d¡}d t ¡|¡}tj     |¡sFt 
|¡t |||ƒt |||ƒt |||ƒdS)Néz%Y-%m-%dz{}/sell_logs/gp/l2/{})Úlenr(r)r*r rrÚosrÚexistsÚmkdirr"r$r#)rr Zdir_rrrÚ export_l2_log9s  
  r6cCsT| d¡}t|dƒdt|dƒdt|dƒ}|dd}t |d|¡S)Nr%riéé<éé)r,r-rÚtime_seconds_format)r/ÚtsÚsÚcharrrÚcompute_buy1_real_timeEs
, r?c    Csi}|dkrt ¡}yîtd t ¡|¡ddš}x’| ¡}|s@P| d¡d}| d¡dkrl| d|¡d    }||d    d… ¡}|dd
…}|d d…}t    |ƒ}||kr²|||<q2|| 
|¡q2WWdQRXx0|D](}t |t ||ƒd    ||d d ƒqÔWWn YnX|S)Nz!{}/sell_logs/gp/l2/l2_data.{}.logr)rz - r9Úasync_log_utilrú]r7r1ér&Úindex) rÚget_now_date_strr    r rrr+r ÚstripÚevalÚextendrr2)r Z
today_datarÚdatarCrZdict_rrrrÚload_l2_from_logLs0  
 
,rIcCs&| d¡d d¡d d¡d}|S)Nú|rú r7Ú.)r,)rr/rrrÚ__get_log_timeks"rMcCs2| d¡d}|| d¡d| d¡d…}|S)Nz - r7ú[é    )r,r )rÚtime_strrrrÚ__get_async_log_timeps rQc CsT|stj ¡ d¡}g}td t ¡|¡ddd}x | ¡}|sHP| d |¡¡dkr^q:t    |ƒ}|| d¡t
dƒd    | d
¡…  ¡}t
|ƒdks¸|d d    t |  d ¡dƒkr:t d ƒt | dd¡ƒkràt dƒkr:nq:y.| t |  d ¡dƒt |  d ¡d    ƒf¡Wq:tk
r@}zt |¡Wdd}~XYq:Xq:WWdQRX|S)Nz%Y-%m-%dz${}/sell_logs/gp/l2/l2_process.{}.logrzutf-8)rrzcode:{}ru处理数据范围r7u 处理时间r&ú-Ú093000r%ÚÚ150000)r(r)r*r    r rrr+r rMr2rEr-r,ÚreplaceÚappendÚ    ExceptionÚloggingÚ    exception)rr Úpos_listrrr/ÚerrrÚget_l2_process_positionws( (*,.*r]c    Csœ|stj ¡ d¡}g}td t ¡|¡ddd^}xT| ¡}|sHP| d |¡¡dkr^q:t    |ƒ}t
dƒt
|  d    d
¡ƒks:t
|  d    d
¡ƒt
d ƒkr˜q:| d ¡dkrä|  d ¡d  ¡}|d| d¡…  ¡}| dt
|ƒd
f¡q:| d¡dkr2|  d¡d  ¡}|d| d¡…  ¡}| dt
|ƒd
f¡q:| d¡dkr:|  d¡d  ¡}|d| d¡…  ¡}| dt
|ƒ|  d¡df¡q:q:q:WWdQRX|S)Nz%Y-%m-%dz"{}/sell_logs/gp/l2/l2_trade.{}.logrzutf-8)rrzcode={}rrSr%rTrUu获取到买入信号起始点u!获取到买入信号起始点:r7rKu获取到买入执行位置u获取到买入执行位置:u触发撤单,撤单位置:r9u撤单原因:)r(r)r*r    r rrr+r rMr-rVr,rErW)rr r[rrr/Ústr_rCrrrÚget_l2_trade_positions: 0r_éc    Cs t |jdd¡ ¡}|tkrBt ¡t|d|krBt|dSg}tj |¡rŒt    |ddd&}| 
¡}x|D]}|  |¡qpWWdQRXt ¡|ft|<|S)Nzutf-8)rrr7r) ÚhashlibÚmd5ÚencodeÚ    hexdigestÚ__log_file_contentsÚtimer3rr4r    r
rW)Úpath_strZexpire_timespacerbÚcontentsrrrrrrÚ__load_file_content»s   
ric    CsÀt ¡›d|›d}g}t|ƒ}xš|D]’}| |›d¡}|dkr&| d¡d}|| d¡d| d¡d…}|| d    ¡dd… ¡}| d¡d}| d¡d}t|ƒ}| |¡q&W|S)
Nz&/sell_logs/huaxin/l2/transaction_desc.z.logú#rz - r7rNrOrA)rrrir r,rErFrW)    rr rÚfdatasrrZ
data_indexrPrHrrrÚload_huaxin_deal_recordËs
 rlc        Csìt ¡›d|›d}i}tj |¡rèt|ddd°}| ¡}x |D]˜}|rB| d¡d ¡}|     d¡r€|| 
d    ¡dd… ¡}| d
¡d}|dd …}|r¨||kr¨qB|d d… ¡}||krÈg||<||  t |ƒ¡qBWWdQRX|S) Nz,/sell_logs/huaxin/l2/transaction_sell_order.z.logrzutf-8)rz - r7rNrAzcode=r1) rrr3rr4r    r
r,rEÚ
startswithr rWrF)    rr rrkrrrrHÚcode_rrrÚload_huaxin_transaction_sell_noßs& 
 
   roc    CsÔt ¡›dt ¡›d}g}tj |¡rÐt|ddd”}| ¡}x„|D]|}|rFyf|     d¡d 
¡}|     d¡d 
¡}|d    kr†|d
kr†wF|     d¡d      d ¡d 
¡}|  |||f¡WqFYqFXqFWWdQRX|S) Nz/sell_logs/gp/system/system.z.logrzutf-8)rrJrr7ÚINFOÚERRORr9z - ) rrrrDr3rr4r    r
r,rErW)rrkrrrrPÚlevelrHrrrÚload_system_logøs" 
rsc        Csât ¡›d|›d}i}tj |¡rÞt|ddd¦}| ¡}x–|D]Ž}|rByx| d¡d ¡}|     d¡r‚|| 
d    ¡dd… ¡}| d
¡d }t | d
¡dƒ}||kr²g||<||  |¡WqBYqBXqBWWdQRX|S) Nz!/sell_logs/huaxin/l2/transaction.z.logrzutf-8)rz - r7rNrArjr) rrr3rr4r    r
r,rErmr rFrW)    r rrkrrrrHrÚl2_datarrrÚload_huaxin_transaction_map s& 
 
ru)N)N)N)r`)r(rarYr3rfrÚlog_module.logrÚutilsrrr"r#r$r0r6r?rIrMrQr]r_rerirDrlrorsrurrrrÚ<module>s2    
 
 
(