From 3419ba88649fd02880e035967850463f3d2eb7a9 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Wed, 3 Feb 2016 17:03:19 +0100 Subject: [PATCH] Updated LogUtil and added example properties file --- Zutil.jar | Bin 1194893 -> 1198053 bytes src/zutil/log/LogUtil.java | 35 ++++++++++++---- src/zutil/log/logging.properties.example | 10 +++++ src/zutil/net/http/HttpServer.java | 50 ++++++++++++----------- test/zutil/test/SSDPClientTest.java | 2 +- 5 files changed, 64 insertions(+), 33 deletions(-) create mode 100755 src/zutil/log/logging.properties.example mode change 100644 => 100755 test/zutil/test/SSDPClientTest.java diff --git a/Zutil.jar b/Zutil.jar index ff6ccebd5d5476c3b16c29694e8b7348faabd0bc..f202517209f1951d351a988a562fc43c70d7fc3b 100755 GIT binary patch delta 23242 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 delta 19953 zcmZs?2Rzm9`#-L8vN_A%d+$v~sf6r3%FZ6yBXWeuY#1+OlOjT7s}M3Wvp31!goxkk z9DUyJ&*%UBdpur``#hi5eP8!=uj`%`pQ^?kssQo(#I(<8b)b4a^3UDau|X0GCMd6M zC&Yxnvm_){MH-PG85X(cz^N+u7`5^Ll_ha}q{SkZR4}INwInh^A{-n792_up#YdwG z3aqf-oP;VN#+3q~hawPw_Z!B2yYluK3BKXUv&yv!d z)a%y7+?<^G<)k8RsCy;{7`fGL-wLrA96j(So%su`It$*~4kSt>a^P<)DQDu_c^hU9^|{ zXl%QL+?--&EPC+~gU$6b)2}lG0lLF&W=HAxT{{6RT7<`;Uh>^n;b)X&qCVqchx4(| zUd#LACD8Ub9p&P`l3scQ?rg=l%@(#oJFMb4sM=%n36d2|-3JYK-CpgUsEBat`DL zIw|OV%MZeDA0KnU(;hog{ybrOQ}%y>|LrTCEXIDs?MSfqF>j7n2WW)(?mVKPtUjx=c)_)gVyOu z^lrP+wEWAGm9;^_QEMZPo#HejGD7dUgBdsD1e0cdbJRUE=0A0YifXMB@Pg(^W7Dw! zWp{L$AZ_eM;lwanSvt}5&d`V^&paO6$la<(Bm4LZrw?*!DWgU@JY1u0ZqHWDeeZKG z;!7gH$FJ?Dd`dT;f0)YEJ^EwJpBYWgcw1?{JU;@h zHM44Sio9&Yp42TZ6KD`LR;~97{o`PRy!}I$>{H2+#jo*2V+s|o@FJg(eYt#VY4c`~ zut3+UNvMD`CxVnSp`u<@7Aj&(xIj zot0#xR93U+^5vFJ(oGK^`AmHSy1xGoT()L3R_Y{+B=f;wR)9jC zw^aTLHJRr|F$hCe-qKd37`YIKKolAjbz?rdh&jId$%)V`neA~)cZlS3C%QH z=w!B>dD2tm<;0bto*EaSw9HZRID9=Bd$%WWI*)W8yFfWcQhXa3uBaq&^x{Dg#NbUK zYw5rax1xRW-Q6PV-|9(kWX#vwA9^1qty#viJF;gb{8DeP>dx7>T@?4U2LuaykNr4V z3*CPQ&bS;T*3;MLwRAMn-{|)jb;0p$JA|m;YT9MjYr4r>%l2Yib|K$80{LaKW9}?} zF~;$zQ{#%gIQ;}$WZC28uV|6Q;cWGZ8*?i9@20drJgUDD7#3BPXmS@S6G7_EK`k1q z6eYXh7eV&OQq*PmbI7IAjoj%|N2o28gvsuac|2*^_1#fEikGPt z_LXL5fmS-SPALy7EMA!Z`qGTgPLqNvP<2q8c$O%tyolFg`B?Xwb<-DglegyR3tjcm zs&(?X4=SDuv)ZfKR%aPT+xgzUQ;kxt-5m(1Ck^oY-W^e%?QiR&UslEZ9N%fydhl*{W<#QAVh*E`)hmywp`Xu} zZ^4zR&^RvbuxRaA)MTi6=KF*_-=2M%=7yPp{HLtZ*`(tpMx`ai)M&lPr#^?{UEU)s zYg0M}Yb$>CsR}a>n6h#X>iA3O-1*$ZDnByR7st@n+!+?%i!Z0iy5I5pZdVZF%})o% zLfo$%r1k$m=$#tszKA_KU2r#&<(zGNI~~tD zKB7D!_{wL^af)-?laFIYP2pDSpn0K^?Dg+lTKVlb&Gdk1vab!?XF^Rga?r#d`HFV< z?b|LvZM}XuYsZf*M8Lc!(bT*U+YpRiW_UhJ(kiEX4i;SV)LIE$0m)6NIEiISZcU$Q zXJZiGbtBnTt7W${&sDI&t9-Grq+k`4eOq<)cwMp^Zunr9RN>Q)JwAo|y8$u1vO$6# zpF}?$qfbVU9fIV7h>n(nevY=S+r*13rAYpy9n7$)lPuV4l`jZv+dmbVk}aT$U3qNt zpg+ZxpN!~EioT@|`XSVBfEM2&F08VR#dIOeMQ_tOY==dCuB@|VYMnKnn`+Za&ApWO z9*tm|jsz8x;odgVAmVBYEO61@{Yfc1dk}Xp{(bHRA)!5Gpq1tZXY6`~Xzq37wV=iX z?hOvwZ?bX6cL!kGW5$%G1|EBGd}f;_n#(1kY}-$ zU%8%jL!O4PT<=6#eJ1**s~5gH^YD#O6vFQ8w0Nj zxZQFgTv}EQ=hD$6KkzfWUm`!^x?ha zxSCnc1_|{)_ug!yYd_TQ=eER=)i_0Vyspg?l(=$`k>@+``bi7%Yn@qIYd-h1eaE96 zl8Ru|OZVjKS8ph0aZWz$(0-dXFM-V97@C|M>l7ZdNnz=>l(}cQUqS-Z^OF#KR#2*! z77tQsvC>t2&GVomL*hmVB39Ut)^7b_S4dp_;IAer9vn8t3G~3P@()LEUHN)5zL?%| zR+4C6%=PkVy?tJESBzSZMs3s~42b{vJlIxJO-}i@9CQ)aFt4;+@?l2W#}Lx=iO~DD z{35_L&v0soysqH|Mq<)xTmGGCezopLe^}-8)fq4%OAr2SJ)hdLxukl3C*&m#G zJ_t5QXxV;k6M;rE(3E_s5L#TdF&y2}OJf?a5F)F#P!yXPS!hqac5sK0;;LKzejv%p zo%i|nS(e8hjdL##3hu9xkZx9pOW!2@f>V-ElSa$WTWbf2;juI^o#r4j9(NSb?QBgY zHR&=rww*uMN^QDo!*Ev1;#L>{eM~Rz8HjvLvKK6cW`4DZrmo)g(-?ozDm^fdCLbA2 zJcgqof{nrCutr7xpVe966T=gtM6YL%t~41BI7S}WMW3e)`zNfPNA&M-((d@Sd7A6n z70uGBaZ`o)k9)?Ep7!TkvqsP zYUO~u8qZW$vk$J2uKYtDAt3WB`kdx2-2-<9x^%Pm!sshLAA|Tu?mNMD6Q6#HR4Wfz zKz(3dkfJ(JIdP@gv~PNmedoG>TSetI^A_v3>xYSSs6ROz{m|r_5{b*{W3d87ze=yb zvRDicWLE0=$Kro##A!ALry9rb4D0@QYirzHe%rwI%K){dW4ROeFf_v0z{Gm7#TS{T zyGX^a_UAd8!>DoS$(6WU-nW>F3~di`G+WREk!K=jUw;3tm(#HP5P(V|sVmZyR3Ew% z^@cwHm#aL#AlGo37cbULx0LCT9n<3s!9tPj{lzqzCwZn04Tj`z4pLr^m%Ugx;C&YL znw6JA^jU(R>BI6E`E&dg!p9KS%`o*fxf_d|qe3|j^_rA6wC>f?j^7jQU zqDrN;Z)QY-y7^ZEyaZIFE&j;Kt;ah*RjW7Cdw(i&Hab@`FXGQte%>a_V-Z z4=1}XOFIO+{9RyKw{h7>_PO@Mb;g;eHmio|+SOKf(NppELxK%&LXRG;wm;RUE-gfu z8$pkv#xpvejRf?z@4UVhk#65hC7JenZ~c_fYW6gM^Q-Mo{{sJ{AABWc4!m#&A zcU0Nb6k1h|iRGLmES+W8D7*%W^mg-{Z6qOC%n&I_8DpQdtEBKqiPwn5K08lYtvN}U zVuGwU5n9T_STqy{>r(FPnfrw-UM#b|97peTt1P`G7sq zHN9aV1UEd8vXdb%MK4ci@nx^aI*DX?Y+5Uts>NzW-Jj_mZ(Esm>rUD2zHuH?*$6@( zW}BhM`@1c-)-+mIw#uHzYxOT>Rk_sMy!J3Y<0>AVM}bD<6qg@p;XSGo z<(;uCMBn|qc__AipnjS61LAAniJ3UUJU#T2pyXMG$+xGc2W!7gluI>Aw^lx^k;*s1 z9@=V^>RAj8zFmovZxsAfmuWs#DD~Xwx05aqEMIuX;>K!!SpM;YtA$4J=akFP{KpSc zDph8t_Q-jET(#35J{OTwz2bCp*B(u*t%gtF?_h|Jz5~a>`M?0oAxY?gEi{6tf-(4* z7_(y!qm7QFjlKka5b%S7-(~Q_1wTCS!v{YC@FN62qH5Y`;!|bpHXmVvqymHoh)FT1 z`q}_-d@S}Cxc%o+$NWn8XhcQk=xSweE2OOkz5LHfK{dx)l97LPR8#Jecw8JgfJ&&U zbMQ#XFQo2nq*Oq!1}O}iALdx0`cQ+^ml>N4DC{Incqohj;$ldMfYB`^5*=rF$B4{` z{4C-wCt)5l0)dFt7YJvjq`0FvPODTrH{e+aR9#_*-i*B5a+$($qjh?#nu=*7taSVx zg_(~)@HO-;rirV4LqkrVyhLje5a05YuIZDYrHPZEK&{}w(>2}@=uuN-M#{coYa+aK zAr@}$p?SCGWE*csifYG4;8cSDE80T+vRyT{{lXgvOoL2<|SkI z$+K$%VYoZNN;eC>*y=o9ypb?kK^W8gg3@1Hh{ye9$CwG*t85-mRf~c8LBq*)$|`^B zDp}Tt4`WxKa?KBiK$HX96Cw7}G-BlXO7ny^?DAJ#^Evk&6Oz+ZM2pZb^&apFPP^s} zro{;HzKP>s`i#5Ho)xv8AyNE9!wO7m$6h5WUi`B1vBtyaPkd_q_3S5Wl5%4_dcqZi zY7=*OJkGLmz4{080507J-=(c+_ii<_ny(#8sNIItJctp8tr3fgQOHBSmT9JSI8M>4 z7yR_;LPcF3@A~ol@GuIED)M^3Y8O5GQ?&es$!li0ylh)NanAJHoB|X^26y#5%pTp+ zRC0MRK4LV_bE?l@F@5}3BqM;oeY*TYN8DqZOe2h`LAq z;NvZo7O5jc7cx67`4U#zk1dD##*e-%?{ly@mA6PD>q9r_;^>LaP74}M%+l^3Cro?4 zp|Dc#enleR#zUs@T9;nB_V9y^pfg3wlZ7(j{4aeg{^O@k(_b{E&`*we_vKiZ>I0AlF+2jp-NNNbu+SEyxU2pFB z<;9>k+So9Uk@9s}f4F?O7<9zZ9_{6R05c8yCQnln zc|*bpFO#I9dX8wS{uQ@h*6BNfn~^tNY#Fb?OYyZIhrMZMvFlg+frjSqg|gFHy2w}M z5}(unz?iSiRX?MsZTgXD3x&^=(r1s2S`}Zd+_zig(7umUlGN3$yFMD;M!z#_l8=R1EGSy}cu zHVfvG@jW(^SDuX9)NJZkibp4U($D!M;xe$!a@RI+%HYlA3v~4hz_k*QyQ*c2)kz+q zu8;3cB-*YS?syW;ZLkN$j@c73SvMfUOc&S|1#qJX86fsG=&>=@)I$C#LY@l6^h%Zp zY94Ee6Jz7E65R9>T?48oUdW`=raB`|-UVCH+-|q}ZgcC5T&?W*i8toW0asj|;#r+4 zwk_Wg^u!psn;L%MQ{{c~!;yHVthgjwf>(;RYru&132(g1qP@QS^@B0|QA521MS;VT zlEQ_@%8OLJ2k3@-eb1VHtk0&wR%zfxZTAA#W z4UpoT-GZ}r{4%!Wd({Vzp?PJJ#$o54^r|+3XVUTuQHj)%pWg5svxIy4h97k)O28yP zIjOPxz%y?+42Zu8BLv(}k@$cvIh+ef;eoxpkit4(|4JFE{di%U(ElF^ zJ}`8Oq(qmP5C`cmCY@*1CQQEU(qM)Xk}$)>n|~;UHi#?gv!+<0grl^#AGQ2=aW}P_ z!G3eweZsVUxvJ{qS)EVL@CWY^<6+-d$*RxZ)tRYT+?g_++Nc_Lo2jZA9`~InQt7Sr z5=&L*EZitPP1(xaO5e-alKbe@bJzq-2kndC@bREa<}JD`7pxcv)3tYa7@p1!UOAQK zS&ofHQsjloy~-nby4vS%%ANImZbo0Oz=l(E*`HqP&5<9&r69wI^JjCaq*)1DGz`u= z0TdQ}NOE&h3-V<(+KC=ePHG&1S z8Z){Roh+X-_viXq1gu#K_dzh8;XIwFT5T4&QfRp8|@|yCJ|nj=F;8{$R&mHe&gcy9cKx@ za$i-}u$af~ibhy`f`ikNmGeNfY@_BtEXfB{kYT!T>0ZItk17eaQm!gnV>X=M&KSi8 z?sKN1&C}lJ1!^Q4q%IB&wia^&RauF@$@odlA~d!q03Jh-msPy11I*SQ*b z>gxMRHD%1P_1ortpPSei)fj_~diG%aE$azZRkfdt146$Mc5!MOboXRW2yZFNxp7Wd zKiBWP7avi0@P_AZH{LQG{N}fCn=udbx9o%KqG%5O)#t6BVACR2uhY%`Ai3W2*|p)P zEB4!Rm&-1V8?!6)ebKC*hni5u=o@mhiu#!pTPlg$rFz%{kz@%|kKd)4J-_)@r7~hv zWxShFi7 zHIx0;1gZ4klE~*D78^C$>j0ygD>a1`A$)WrV((1us@0sj>v|?y|GL(jf-A2C-@c5d z3U~dzVkdJGop=yHnRs9d-FcFr`5r&()P^Du9iwoTpnsA;S^KUpaKl^F$?g3Q{cif+ zFN^O(5b2`Mr1YN^q1Cg#&ABTvnYW2auRNs`k;=HwOxUxsI)CuguiN&v-1A?T?>XW< zb}0X9%-S+RBCSF<8u{lgFIUFxBqx%(kYrTPIn)Ye)kQ+2SEA^n-}N}>TfFRD8d}+@ zW^1&zyae@km9F;6Onp-lr(C-*!@kFN58DjYsyu3+u%kryXrJf1UFoYqpP#kK`+B|+ z$@uY}Vo`UZ*Tk~#wyABOlc`OgY26cHF0?^sJo_q~q&5Ft3Vu2#)ps*tWQ>Z`BSk7b zVjwKXySuzbS4Lx#QPFdLpau?&Ia967)P)*_uUbBCaF<+wiTz znb~(`?b(-1TU>*08;pV=+NoX8p+ND)dd-6PI`^zmJl}46CS4Gj({%5^HH2D(Y`6p2ugkf%+ zReT(Ro;OqLs)LcUk`~4+gnVryvVy?a%=e{B4_)unYuJCvn3R2$vc58JYUF-w)g6Lf zaZ#16Eow1}a(8{_v7}c+ak-_HM^}%}Slj$yelLlO>uDdaEIG%M#IXhTEjRAbAT?M4 zeZniFTZ0|!_-~$?P209wd$KHap)5=(V`I2$?CNrjzd1j+BIGy9RzDa&IZ)I_E>NSh z+&%siFFm!>e_+#K?bTdI#;dB)Bqgscv{ujy+XPnUquWcpZP5lxsys&5#HNKLD>W!n z>iZpoUNF3SROn%2R#nxc^4=8e`b7+nDdocIM*)iv^vTK;?*If7aCVy{X$M%vt z-NDsn;mx?b>V~RQT-U4D=Q8Owzm7Dov2+g{CHG{GD5s$3ZYn@Ksb%?s2);=6NSuFqYyR%H!#Qrc%_g1auX1C!_!KxI7rVeh~D=#!t0|Z`Q>kD7A zglTYl2;sRL|LO{?ldUVgcOvQIeSdvpL7+JCh@-38-AV6ehRGOspIIBB`0lM|eQeEC zp^#D7TTae9?+AdeucDyZtS=8OMO@g?pOwjikABSIYy(?=Hi6Q!&&4LYh`HM4pz2v6 z>T_6TBmS${ONK*3S>dH_mv2uw9{Gvi(-sXKNYD-_+K`SDRa{|95rHhQcdpTD=FW%n z{mGCsym7{|PSEL2zPD|~-`;2(^>o%Omeh7}!El;bkp00k;wU?XQ;wG4w#m<*&^Kx_ zl!uGOVH9Gd`96 z&&(z(_-ZjzYlFn9YB|g1P}{*H4&*}#$^0+zDtX( zflXUBw65J`L*~uX;vrf{91Z`~P<(&C8Sb>nfIXh#?Q-}Q?=|z~7Bb_pT)d&ry!WfF zgh}wPZwB_ajNXFRONPY^FK0fz;8&3 zlgfb!O1Ia#$lsG4hHF=5(i}WQ<9*N8w@$A&^)1)@-K#!P-Ik8pu9h-WuikVu51k=h zXxd6LD~T)ksxuWw!wSrXH)*f?p#vjgd4fK0^Fxl;cqhc7r$wwSSa#B^NUD!g7xYFc zM;Z6+w|$YxP4Ri@o||}|=1IfL_DGy|rRogt5h_&o3(H0zM>3k;TgQ&rx<6#x%C(kb zu=(DZ{G!;9oWFzT1K&$osomGCVPAzInVa=c9iv0C^y5o2Y99gQuM7h>Jv3|%Z?R0Y zm|i($FJlewTRUgZpOacV`mp$?EFo6ii+=Y=72>bZD~l;aQOd=VN8u6SJ zI2)I49a_+7pv!8)-=;ph^mHMQe%dN1Stj$x7)=n;qDjo3sC3p*cgNrgytmIYD9&`7 z-)B}PdTwoBFeqX3%bqurc{W;W_Rc>2M-8FbzH%cmzxrbN4UvDhL ztCNv+QIb~&_B?k|F?dmUr4yN!GpQ9JsxFqap#M(pCPgPt+Tw7JP0C}m0{>@*BffVf z8#Sa`wkoz)=|7*ibBR~k$xru6XKYOL1|K;W^c={?d}^9`|I|4st9@opFmWJ*eCJK? zQK)pczD6w+PvJ?uPV*I}mYIbc+kEgGIbzkt1E(r2npXLB3pbC>mUMk(8S_hvitqN6 zWttB~l^IT_&zK&qZnQpYN24v`&lP^2EC0M2Tjb?poEm*%5TxHKa<*o)BSN{WHA!RM za{73WFF5kENzQ4-IX!O<#cp);QjNVj>sO*#pUDqD>EDH1%_4Ep-uX;t+-y@5te_QP zapTxG)1WLKzFX*3&+6l0q;Jw2IJq~O^(f%-!+_NKNV0r|mo<+rG1j1^d@tkCIFNs) zRm=LU(Od@LzZ)Ln_{nW;!y_dg>+^2AhOZ%jXs&f6)19tBe0p(!)sc~e$eQJ~o~%H# zZ$#r6Wmu-_!@F*l=$tFU(0zQW&^1c zd6PSw6bI)LJuvr_gcER+h0&ms3?2Q*45)+M66^-NKkG)1hEiAFP9q>TAwf(S3=cnJn`nq$E_0xuhJs@)0zDvzEh4>FZ%&;jqxWkTz;D;(|$9X zfA+R4f^o}m?P>eM>ldv%IE1L~2tLLE3UMSYZ#Q}41b1^wGhVwEtaUjXJ)ikN`V*-J z(WcMgG;sEU{E(;SY6xZb(N4&z!gBkK;Pm|kD?)kH=RAM@5Iz6Nr(CoKH&tbNMUlTI@^8c2>D!F;yR{M!pqh-Zb-GCz_=2i;8l$k$r-{yeV-$r zKI&JtRm*+Ify}tlTOnRCo2=x#?-4icn)}v6UlH#M%59WXSTp>(*&5ZZJ5|Ci}^MWk=q9c zHPW!zY$3KI<{8*dzjS+;wXxeQhds8j>CTr-9E;4!kfh}=mqhM z4U+l^fvw?g^&3b(Cn=?5c_lJ-IK z-D+d(X1e`h<`g5drf3Q&%a~|Q7yWXxP}zPV_o0Rvo1XcaSH_t?ftQi8{DhMMorABb7C~SDsO#Sc5*K-F1tnk&wI;De5;&by}wy>#}#s*Hu zm*-s#X>LDKOXl@{lxfOQyRQ>iElaRhSgBzC%xU6!5}9D(B3IzA%_MIH0br0cem5>A zwmhC!U*!1xwyPJqCn{N6A}4*4X5mRk!21--LYbuDVza71zc12WRO)zDdhb5BINuoZ z(~&61qvb%9(0nd>BqM6HMqH7jwPHg1a(O{7S8KXStxr2AlHifCgX)VkDgo!-^yHB^ z*`He7J6)mDU*(x7>HoO-Sjx|M(j7_ev8_^^wZS*xn8Q-QpZBjXy&Zd8JKacGm9( zi#MAeRlWCe3*(Z~O1nlpgRbc(K8@l~_-v3e+w5xwe=(g}R93?Me_wq87Be*bvsZJJPK>uS%;-2IO~#J)>aqnz9pL}Mf> zjQL6qq=(Hl149%|Wn=Bu+h0jvyNg27=g(AILaMKryZCJI1w0pgz~bkz?h~ZGU}yLF z#`FgDXN6l1&qmj@58=2&eAKA#xt5=PgY^$spR~JO#ZmEawQ>$?Fy1$7JTj5#J`!x{Nv8tIX zIXHaZ;l2JTaAhc)?M5-1CwXLa)z{o-u#@KJ6^Nw5s~y_%catAjs5bN>J0sd%YZ|$o z)1Hav9>|5}q36EJ6klz8>Uhd%Bwp>;Gk@D-y!`c}W+98&Z#>qF%50gRo#YI53!eKt zz~A&HuTCbfo)_NCO;>CuC^vdE{G**(SBWiGQ$CdA7u%{9aJnP&)lIo(6=iuhn!O^P zP3h-{9>V-@<{f;U0je@h&2J1Bj(>-KzjwQP;vOTrl7FJX`ftX=?8c$N@E0zy?~hG zQ{a;|426yRX9>KoLl?ma0CNWzLG_6>?DXRF)Ps_Q3b^eLqp0Tehw*Y^BZtI**LhBv zuqPM!U=@=Tz)UXxkE)C3#@O^LA7BVz`z;K&`fCvk{~~{kpc)i7{+AM$Mi?U$tEB7{ zMh9qg!4TCopJA78V7O}VAomaN#Vj+}?Vh)1=p+|5yR*&K%_$BO>Bp^Zw-iY4Kfg`azsP%8zz+a3&X*C?T znz0b>V}jL@3_)Df!zTy=YY(<+fn_cfqM8hfc*BE@g{dTfNC1JX{>hKHe_<_{3w5=- zBH{xbHXCj;L@5L+;x7k`TOc&i`es^WisbUuck0&P6BsI7)=@-GxULj2=W?(=VPPp` zA`Cxtloe1*HmjJTmDpiAwq~V%C@go97wZ>MAkM59Fk0)iCGYjKr&jD_?eJ+94yAUL zl}*p}tD7&sPPpq(hdj!S?tYtdZ~oD@UpZ0AoRkC)gN=bL!b;VzmqlGT>(TTsN1|`Y zIC%r-Gqxc}$wp&Ih>2PQX%erPe=GdYy(HlzS*oNNmi&>tI(8C+Q|*sVTSm4G0!5dU z-zUA{3}rx`bZ%W9?07e0z3+9Ed>7v;j!^A!|(CVo-IaZG*|22|SK@b5q!H#L)WMn+G*c!aq&{lW7j##gDec-~1HslwFcze4#b@2Pu; zx}RNe|2;N2P1Y8hOhPkbZnPzdlDbW1BkGon*hBSiJA~JIIcqOlqsgV*6HHWm3iLX8 zPk5>%jh^vr8=X&1@w8AMFzFTBw7(I2`|U(MBw{4RxuE4k-`xAjX5??URYpPDkbZpT z9R^;gpZKbveNtoOnoEV;T4bb08_icMr=H(XjQi-&&82sP;NTeHf=>)E7cAsB1Ox;) zm`=H)0iy!&ED*H7RXYSJ+Mr99PMKU@AnyAElKaGW;{(<%gv*8VWnGzqe zkSva7RJiYn@?USB~M>}#b1m&m*QzAb;>zWK%vYDj0KRn0@Rx?6y*C{dkLt8kw}=(gI+O#ZHFxsE;);v^p`b%42!`0$Gs z>s!nG$B^Ifkq@=yMiV8RGvzjv0fnkNlhU>;+z)b3TVhAGXX*Fot7#q#la!9$^bpqR zawZHEcw3jKR`niMeA_?5Kdi#0*!0#|S5f!CYnP}JfzAPlN?e6L`n@r9H+#K2H9eS$;XlN8N7B;Pu;Cd zcOk9g_gayDloBs{q^k^3U2TZRoqY9c?T9GmN^+U{gHMd45g*xpaDMX+in}lU(e`WQ z4Yx1%o=6r;e;nMA*C#}CFxWn8?JJL#h{#z$7SQ?iy{;XQzcIbg(;}b!dhxUH22K1n zFZt-ucgu*uu2SiBmb%+MpFZB)eL}`0dYE%U7Pn+6#BsdsGuK0VHE>nrZtflHx2;h( zLOzIol~w04c+eTZ`8@#&`WKUQJ#Rf}Ey*j?)Y+_f zPi8DL^uBpU@!wB)Mf`DT`Db{m$mvx@r5{QK8mjv=90@n~v=F9~iZ$25*~C&`FPtF- z3NrpMw4|o^+KMCK`?sodW|Xyl6CPR1m4(H-dQbl`uz~xYt6sfsg#JAjjJw25rjmqM z@yyg$eIYpF5S-!5`Sra~T>7hLoVZaqqW+O>2+x}0FTl_~*|+iO`jfz|{>^dFy)K&(w)UE+j*T>PgH=3k7eJJ1LdKkRIWg>r|8T}JH822OO3xv&Dv#9G}a zkCeZd^1zoz59P2?!2ei^$IkWD;5xDwAdTox@M&Gh4i2miCqW) za|1{^z_1NTgN^0ch7`g6P~$++0ZnblI;{TSb|eo3%YUQ*`PL3(3l@PqU3EbxvfvUH zKK}zkr*7me2r&`PKkuA?KRrk~$eA8M+l!QjaO)==8nFO{Q%D5xxEDza;kXOr^dglZ zwU)ptCgi;bi1i`aunO14!IYJbfNvj?iFrO;R0Vv%_4oZ24h}QUfB!8w0w4O2>X6ug z1j=9`AaxZ<0+e+jF9X;6!A$Oi0OtKjF|1Nd(I8omf%1N&6y)n;V6`7K*eMzi9Y9`( zG#UWDnD9s#s2f0H|2+&_MUc#Iz}Wzj3ajDKIcQevH$Y+#c?Gib4e%I5YC#-&F(C~w zF^H6b2=`wAq3=kEOXGn1Ah;q5`i>Nav@T-=l)#toNJ$9u_67L7PfQK;je!E;>VTLSh#x}oLf-BELmNR}9sQFO0cZ__n&pXrN5e=}hz}_yqy~NrBSj#= z@C(394!#YO83DEYLSh)unh`J!jP(MPa*~h%YO7$AERTS-wa0cr(~TmXDB5-6Vm z%TpW${F*_k!N#IVa31)0JGuzn^l^0uW-;9dtI%;4NelIfAxVBl!VHX#fa$9+jQmp) z;A;X21F$^{)>rNefPN0C2oXvLEas3G3v}#&3@HGz=D_ISZUAVQ13Pq40q}eg)V&2> z_(LZDf}pqHE02tMP`A!JXj|pmi#YmaB(xZs7s69^!OYAfRUp?ZF2L0VFvr)`7a(N; zc@=W0@d9iufIY(f^94Y(l8^&tKR_+Nnz2msB3M~(e}FBk-u@p#4kG{UBKlN62@>f1 z1=`}X2-@0nIMWg{VY>WheO_Oi|?mt0|@v}hsPtcu={Qwq!BKfh!#P~W$ z_$DB-1h(nhO~7FZX$XNI0H2qTdQgv3lB82oPC#xMN%HR~heH5|W#kp8EQAzj!z1Ma zNDuzgo|DU9?NLKXfoIgDbU+^wDKWsb0{T~8yniW*i*Av&0!A&y|CfgWvnxmmC>i2k ziWpE>MM^<&$*~j*#)I)f9#8|Vt6;^(aRKl(q#7ia54gJqdbuZpK+zgl$K9g92FOFn zuag2V879?T;E8xC?6oN$E!ALYAXBNQD2J$Xs)fy9W0ChM2j#o?;kON1cU=!@# z3{JrGCg>SAJprLDq!88})BpDyB&z>*;5f~GK;IVfVz$D1Sa>i%u?>1y*xN? z321L48G(jvq#%Sb8pF{8TF*&I0P-EsP`{Xe7(&2y2aF@1fMF!vd5cd>7XBWu? zknDm(>-;4KXh9aUFUah2QbM3}7j#-T^ZtwB*aMk^SN|}y!1Fz%D8!}cABGvIqXR3P zd>`zO?j`@wgg{9pXcvtbDD%e1*vtNr5dfCeq#V{e^|snn_`pp2Z7cZ@6Hz z4#3GN_cM_53-n}J2Vg(N`T7qa1FrUhD$dA3^-{k;^#dn zuU}w`$&CQ%hv2MWeu$KVXpdsR#daGz8xBkYKM%pqcQQ!|Ab*fj0waCkD7$q8cB8{t zQh;^mklf+n8w)C^!P!Sa}hcK0+EnMwT!k4WNAtHkjx-5POWgShKLuqUfNI z-=x5IPy!VKe;|J&O`%Pv*dMgOli#4VxR(LMZzKiK`x~?_8F2wVQ^AM;{u8iLdXRs` zCrDzz{{(DJPx5~l(9iLpaDkl@Bn{*m>jjN{jK+Nm_F=4}ym|`OkucjoG9D~V|L<)E z4vz5ubVX~ff8t^vr?Fln`1g1S2Z!l@65N#dCjlOSM~^~X7^V6LG)hhGLKg4`d9mEX zER&#VH(){tLtb2&#i`>Er~!NlW+)Tncn30orFsW2m+YHZ~j3bB3hG zdZ#ALDrQ_0z&i)s0I3$BdJg&%j4#Iyoe)zX^BhT!C3&Z4z^YrG1_#+|d@#$AtP6SsAI0=fn?bJSVpwWGkl?>+3F7^i#T)?wegr69 zNXfqpA@GF&B@M~RyGRMfp#=B|!8lWIFBo@1)WsSAQ{#}L5)7*hS-^%2fK(NDwul}3 zl0=|c{-qc(18|=R#qe)|1U>*(q$nz&g$UGZ`4_xv1XE%viy7>LD*rt;X#X4F*w$bY z(*x$jVB!ocUgo}3LpWE+Hbmu zr`8E01D=lmXEq+i$cS1nGJb%W6m|8|C18#i#R3@jg2~fiU=P4<2l7b4c+5Q)I%Y`0 zj7$13fC>I&qX7y~pQ+a#Ef9*{$!WFbFc7(jR7ezeI!pZFGq zqJeNQVrUv*1_k!j8%%H@kPFTUTqXN!fhHN)4**V}pBz*kLIxK2D;6*S^g?h-UN9&_<9?k{4ozt8fy)i~>~AF9k$V zphU5~2(yQT#LEIrl;E(~!bm@20Udz22`2)sQG!gjJVs0hFx~<)F!~B+@QM=50Q{d< zkQT?P!LC)5Zv#10;5g@|0u%XS0Ttj(g%XEMX<#I}kTczj7zET{^M;yTfNonj&4srJ zrN;CJiwoMx9?pTW7Xkdl(Cv2r&?Fbtik(iRXh4~e6R<-A8t6uY5{2Axxd4qIxTFPK zq5%t*>I+)_kNdzhG-TZ$P@w%gl*};%O#skD3wod=TF`neEHH$y1zwQZbfA_eVQ?~F zgBG;Ni4M&5-ot-nH=%e>;XqC{oE$izL&-wPfxpNy3yuKH=s~~en1ZEPfVcF2TRTP$ zMaRsL3jezVbhGsq^7HyXt3XTxK~+-WKu8Xp0^nvqaYOw2(?#v1f?D%mYgB5ifBD4gou%a}eyWtE!D4f6!NH{&m09ZJ|l$!_y=-jzLOB+f5VMu{@ zTwt6G@(X5-9zg}bxWPDYXfBvvEC_H#fMK{;FPL0z)WtOqX5NJ+vm<~We(>;oha2pR zT^EQNpc4R-VV#364_IT0+<+SoN)-~w1Jv@M41g$Z6dYjS1({0%0D>3A1WfaQD>Ljg zkiiSq`Y%xgASjDq0^)eU9<_p@k|YtpHw6R>{QtW%!i*f4ungkw$Z@yw^a4DTLC@pK z2WEXo28icFsY4PJfk`lgepf~SB-#jOK#dYl=|KX8IQE(Yzo^1iEgEMI3;v5LlG= z4uHK7*f}sOO{^cE^8(6*Pzn&FH?S>)GJ)iWV?sv2Q5YOT@h>od8u%m(&KZBwE&yBv zT%j;#`~&a+dl8f{)FBT6JZeGE02SarCPS~h!XgHML==?e6#PY5@4*%ay#+6{=gnWL zyYhlU00W|6173Rjmp`upH`m|}j29|a@|Us^Ln%OAOaCJ0dIS;Bg^BQ>{4eF-h#>i| zqeBsKP@!MNf8vXScI{ODMO&W{gupj(Fm-k{mJ+=1V$u>|nxR@OMGf?{f=vR}@ZTe# zFi;3tYX-6;P)bnIF9?9;C)h{uB|*jg9eFNIQsjt&1s zAyVK>cx@buM1d74&=%)OETRGgq`?9AVhOO2M)CdISpTnVYYA;Ch@#DlsI+P`Q}I)6 zkzkbw+K&{?zc1f{My;_6jY+!*6_NO%B8Y_|Sfog$BJoh_B7%#cE>tj}B1POp6cMv^ zA*fJVwSvEeRXj5~UY0X%*%IS6#eN@@dfww-ws?CE|zswrz z{p#6-%QNie%YHg|$`mLh*v{)3dU=3u{S`%9fOwgX3j~s49j*pw)4K!ZK((mWwViusK8eOyw_gWfz&x zl2zu@J|Wc client_session, - Map cookie, - Map request, - long time){ - // Debug - if(logger.isLoggable(Level.FINEST) ){ - logger.finer( - "Received request: " + parser.getRequestURL() - + " (client_session: " + client_session - + ", cookie: " + cookie - + ", request: " + request + ")" - + ", time: "+ StringUtil.formatTimeToString(System.currentTimeMillis() - time)); - } else if(logger.isLoggable(Level.FINER)){ - logger.finer( - "Received request: " + parser.getRequestURL() - + ", time: "+ StringUtil.formatTimeToString(System.currentTimeMillis() - time)); - } - } } + + protected static void logRequest(HttpHeaderParser parser, + Map client_session, + Map cookie, + Map request, + long time){ + // Debug + if(logger.isLoggable(Level.FINEST) ){ + logger.finer( + "Received request: " + parser.getRequestURL() + + " (client_session: " + client_session + + ", cookie: " + cookie + + ", request: " + request + ")" + + ", time: "+ StringUtil.formatTimeToString(System.currentTimeMillis() - time)); + } else if(logger.isLoggable(Level.FINER)){ + logger.finer( + "Received request: " + parser.getRequestURL() + + ", time: "+ StringUtil.formatTimeToString(System.currentTimeMillis() - time)); + } + } } diff --git a/test/zutil/test/SSDPClientTest.java b/test/zutil/test/SSDPClientTest.java old mode 100644 new mode 100755 index 5bd25cb..efc91fc --- a/test/zutil/test/SSDPClientTest.java +++ b/test/zutil/test/SSDPClientTest.java @@ -35,7 +35,7 @@ import java.util.logging.Level; public class SSDPClientTest { public static void main(String[] args) throws IOException { - System.out.println(LogUtil.getCalingClass()); + System.out.println(LogUtil.getCallingClass()); LogUtil.setGlobalLevel(Level.FINEST); SSDPClient ssdp = new SSDPClient(); ssdp.requestService("upnp:rootdevice");