Files
boc/rust-service/target/release/deps/liblog-5bc5b815000aa8c8.rlib
T

720 lines
226 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 1270 `
M:M:M:M:M:M:M:M:M:M:M:M:M:M:M:M:M:_ZN3log10set_logger17h991f9d11c5458b1eE_ZN3log15set_logger_racy17hd3a5be9432fea90eE_ZN3log16set_boxed_logger17h343f526ff24cdf20E_ZN3log6logger17h9757f45846312760E_ZN49_$LT$log..Level$u20$as$u20$core..fmt..Display$GT$3fmt17hfb9717e4bc028e19E_ZN3log15LOG_LEVEL_NAMES17h411af5f0617c0573E_ZN55_$LT$log..LevelFilter$u20$as$u20$core..fmt..Display$GT$3fmt17hb4721098dcaf8914E_ZN57_$LT$log..Level$u20$as$u20$core..str..traits..FromStr$GT$8from_str17hc7ba92b964f94928E_ZN58_$LT$log..SetLoggerError$u20$as$u20$core..fmt..Display$GT$3fmt17hf8435ab776f7121cE_ZN59_$LT$log..ParseLevelError$u20$as$u20$core..fmt..Display$GT$3fmt17hbd52c7f8a39a24f5E_ZN61_$LT$log..MaybeStaticStr$u20$as$u20$core..cmp..PartialOrd$GT$11partial_cmp17hcdb64b1c75cd6540E_ZN61_$LT$log..__private_api..GlobalLogger$u20$as$u20$log..Log$GT$3log17hce4248c5856e77f6E_ZN61_$LT$log..__private_api..GlobalLogger$u20$as$u20$log..Log$GT$5flush17hf4de311a2c5293beE_ZN61_$LT$log..__private_api..GlobalLogger$u20$as$u20$log..Log$GT$7enabled17hf80b6c976eb852dfE_ZN63_$LT$log..LevelFilter$u20$as$u20$core..str..traits..FromStr$GT$8from_str17h7c1d4588a56845d8E_ZN3log20MAX_LOG_LEVEL_FILTER17h5b82757271b872beEDW.ref.rust_eh_personality// 56 `
log-5bc5b815000aa8c8.log.2f013c4d0eeb2163-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 214864 `
ELF·ÐE@@GNUÀrust
)C#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁÀ…|»À|Ñ{ŒÐ{
__log_keyÁLy»kvÁtäx
__log_valueÁ\~»õtó}
__log_value_svalÁ„°‰»kv_svalÁœ
__log_value_serdeÁŒÅŒ»kv_serdeÁ¤¡Œ
__log_value_errorÁŒø»kv_stdÁ”ÖserdeÁ,}»
serde_coreÁ´õ·}»õtž}a$Å~óµ Ì™~ܘ~®D‰óµ ÌÕ~ÜÔ~ AtomicUsizeÁ\Âóµ ÌžÜ KeyValuesÁLâí»õt¹í©
kv_supportÁTç»õtestsÁ,²£$§£ÀmacrosÁ
__logÁ
 log_enabledÁ

__log_enabledÁ
 __log_loggerÁ
à

¢
Ñ
  
LOGGERÁSTATEÁ
UNINITIALIZEDÁ INITIALIZINGÁ INITIALIZEDÁMAX_LOG_LEVEL_FILTERÁLOG_LEVEL_NAMESÁ SET_LOGGER_ERRORÁLEVEL_PARSE_ERRORÁ!#ï
%%þ(×**maxÁ*to_level_filterÁ*as_strÁ*ù// *increment_severityÁ*decrement_severityÁ46ï
88þ;× ==Â=to_levelÁ=â=ùBB =þ=
G'aÁGgetÁ  K
MOï
Q§RT«TbuilderÁTÀTmetadataÁTlevelÁTêT¹ [ Tmodule_path_staticÁTÌ^ T file_staticÁTšb«bæ bÀbb¤bêb¹ bÂbÌbæbšbbuildÁo>q«qq¤qêv«væ v¤vêvÐ|>LogÁ~enabledÁ~logÁ~flushÁ NopLoggerÁ
ÁÏÙˆ¥ˆÁˆÏˆÙ¥ÁÏÙ¥ÁÏÙ
set_max_levelÁset_max_level_racyÁ max_levelÁset_boxed_loggerÁš 
set_loggerÁœ set_logger_innerÁžset_logger_racyÁ¡×¤×loggerÁ§NOPÁ
__private_apiÁ©©©©©©©©©© ©
© © ©KeyÁ·«©ValueÁ¹«©sealedÁ»KVsÁ¼«¼into_kvsÁ©¿«¿ý©Â«Âý©ÅÁÅÏÅÙ©log_implÁÉ©Ï˫˜˩ÁÏ©locÁSTATIC_MAX_LEVELÁ
Ï
errorÁ
Õ
infoÁ

traceÁLevelÁÙErrorÁÚ
Ú ÙWarnÁÝ
ÙInfoÁß
Ùpá
ÙTraceÁã
æƒ !"ê#ìÖ$îï
%ð&ò×'ô§õù LevelFilterÁ÷OffÁø
÷ú
֟
÷ªþ
÷p
ւ
()ƒ*+,-Ö.ï
/0×1§ùMaybeStaticStrÁ«StaticÁ˜
˜ˆBorrowedÁ
ˆ2ž«3 «4¢«¢ƒ5¥«¥×RecordÁ¨«¨¨À¨¹ ¨Ì¨š6¯«¯ƒ7²«²×
RecordBuilderÁµ«µrecordÁ8¸«¸×MetadataÁ»«»¤»ê9¿«¿ƒ:«ÂÖ;Å«<Ç«Ç=Ê«Ê>Í«Íï
?ЫЧÒù@Ô«Ô×MetadataBuilderÁ׫×AÚ«ÚÖBÝ«Cß«ßDâ«âEå«åï
Fè«è§êùGì«ì×SetLoggerErrorÁï
ïˆHò×ParseLevelErrorÁô
ôˆI÷×JKúLüÖ© GlobalLoggerÁþ
©×"
"
$
$
'
)
)
)
-
.
2
3
5
5
7
7
:
<
<
<
@
A
E
F
I
J
K
L
L
M
N
N
O
P
P
Q
R
R
W
X
Y
Z
[
]
^
`
a
e
f
g
h
i
j
k
l
m
n
o
t
u
y
z
{
|














ˆ
Š
Š
Š



Œ














¢
¢
¢
¥
¥
¥
Æ
Æ
Æ
Ç
Ç
Ç
È
É
É
É
É
É
É
É
Ë
Ë
Ë
Ë
Ï
ç
ë
ë
í
ï
ï
ñ
ñ
ó
ó
ó
õ
õ

Š
Š
Œ
Ž
Ž







¤
§
§
§
±
´
´
´
º
º
º
Á
Ä
É
É
Ì
Ì
Ï
Ï
Ò
Ò
Ö
Ö
Ö
Ü
á
á
ä
ä
ç
ç
ê
ê
î
î
î
ó
ó
ó
ø
ø
ø
û
û
ý



ÛÙÚÛÜÝÞßàªáâpãäÇÀû vD]ˆ‹Øþ+Š þ+Ðìþ+µßþ+þ+þ+íßþ+þ+ºþ+¿cþ+šeþ+µßþ+÷øùÓúûüýþÿªpƒÇvu~˜“é€íßþ+Õ-ïyþ+Äcþ+ÛÕ-ØÕ-Š Õ-ÐìÕ-µßÕ-Õ-Õ-íßÕ-Õ-ºÕ-¿cÕ-šeÕ-µßÕ-þ+íßÕ-þ+ïyÕ-ÄcÕ-Š ˜¨šˆœÃˆš!÷?.ù’¬«Û’0Ø’0¿c’0˜¨šˆœÃˆš!÷?.ù’¬8µß‰1‰1º‰1í߉1‰1še‰1ب¨Ÿª«À¬¹ ­Ì®š‚‡’u°ëcü«¿c‘2¿cµµ·¡+ß+Ë‹5þ«³µµ·¡+ß+Ë‹5þ8Ø»»Â½¤¾êÔÃ$Cõà8'«ô3Ðìô3µßô3ô3ºô3íßô3ô3šeô3¿cô3×׉!Ùíi¢Æ@6‹1«Ðìˆ5µßˆ5ˆ5ºˆ5í߈5ˆ5šeˆ5¿cˆ5³×׉!Ùíi¢Æ@618~ƒå cãN„Gð~ 8¥~žBoxÁ¡ˆˆ¢ˆl }.xÏ¥çEçEèEGlobalÁ ¿±‡§í#~†J†JK‰Jµ 7ŠJphantomÁ7J¤7·0ØQdè¾7Ä7¿cïïð»"ñˆ ¤—ŒÚ\̰ÄcÏ8¾Ï8¿côôõé"öˆ Ýúƒ#r,oÐì›9µß›9›9›9Äc›9¾›9¼ «
 «“:«¼«¿cþþÿµ# ƒÐäùÒ#\Þ~¼:åÙ÷ æÙ÷¢¯¨¿»èÙ÷žéÙˆ÷Å»Ý×ùôêÙ!Ù÷4÷KÇ»ß×úôìÙ÷J»Ú×üôîÙ#Ù÷6÷OÍ»å×ðÙ÷MÊ»â×òÙ÷¥²¨¸µÔ»ì×òï÷ôþôÙ÷Qлè×%Ù8÷(Ù;÷¡ï¤ôoµ|׈
†JÅþ£ï¦ô¿
Â
ÛñØŠ #Ðìµß#5íß)º.¿c
"šeFïy"Äc ³~ ¾!¼¼?¼?¼?¼?(‰ŽŽŽç$þ+/ þ+9BLH–ŽŸŽë=BHSÊ@ZÊ@a¼?h¼?ox¹
 __self_discrÁž __arg1_discrÁµ½£Ží¡Ž¬:Ê@)P¥ŽùxÝ€3" ùxØ€9" Û¼¿ßÀßÁßLessÁÂßÃßÄß~Å߯ßÇßGreaterÁÈßåºÝÈnûê7 x"¯ŽïÒ×ÝùxŠ€"ôàõÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÔCCÊ@KÊ@S¼?[¼?cÔCQu¹
ƒ‚A™A¦±Žùxþƒ3"´ŽñCHNùxÀƒƒ"öàfÔCoÊ@vÊ@}¼?¼?¹
¡‚A®™A¹Á (¶Ž
/5 ºŽU ÓHp;ÓH:VÓHU¦qÓHpÃ
êcØÝ埻ŽóÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¬:ŸÈŸÈ È éBLÊ@Ž  c cˆ¢cµ
 `£cbufÁ `àB¤GS
ÕÓHݼ?åï±ýÝI ½Ž‘{ûÐLü
ªeù){ûÐL){‡ÑLa{ÑLÁŽõdiù{¼ÐcLÚÊÕLƒ¬:ŒÊ@ ÕL¼?¤­ºº‚AÇÏÏLÇ ,³• t³• À•4Å• |Å• Ó•ü³•!Ú•"üÿ”[$¤•Ê@,…• Õ-,Œ•þ+ª¼?±Õ-¼?5¹
5d üì–(,í– „ì– û–4ƒ— Œ‚— ’—üç–. Û¼ÔC ”—›—$ü™–öà¼ý–…E¬Ç–Ê@,¨–«O,¯–ÔCçþ+ä¼?ëÕ-Ǽ?Î9¹
<|<ó›
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙþ+e” vçR ±”ûœ çR ŒŒ×œÊçR 県³œôçR Ü”ŽœçR ŸœÚ+üÀ›šçRlÛ›¼? ΛÀ
1d¾žšþ+О,üžž2þ+,®ž üÙŸ',ñŸ tñŸ þŸ<ö¾}˜µ1D
†UÄäÀdÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÕ- ûÀĹÀÓÁW ÐÀ¼ÀýÁW ¥À¼å¿'ÁW û¿ĺ¿QÁW Ñ¿´‘¿{ÁW ¦¿÷´1ÛÕ- ˆ  -ü¢Ÿmü½¾ç>þý°´ˆ1±TÕ-D …ò´1Õ-\ßÊ@,¹ŸÁW@þ+>¼?F+—W |Ñ¡ x  ÓH¼?,á¡ tá¡ î¡üÑ¡Ó ¼?% ò ¼?H õ¡ö¡.ü¢¡TÓHdº¡Ê@,°¡Ñ[ðþ+Ƽ?ͨ'J
â­â­MapÁå­ùæ­±Å@Iœóë ¶¥££¹ƒ£¹„£þ-'ºˆÉ¬g¼?1¼?þ+¬:ë¥/üƒ¥hýüåg™N®^þ+é^üÀ¥%ý±\‰×@®^é^õægî]Ô”¥VœÈ¥ÐÕ —W¨}ñ çR{y çRwu= çRsqc çRom çRk Ûþ+ ã¥ä¥1üÄ¥ +?±Tþ+DÜ¥þ+Ç¥ é^F¼? Å¥çRƒú´s—W ,òªtòª슫\›« 
¼?È ¦«= ¼1pä
çRnl
çRjh0çRfdVçRb`|çR^ ·«¾«è
ƒ¼1Ûþ+
·¼12ü±ªüäªZ¥+ƒý‚»1²Tþ+„¨«eþ»1þ+$ÕªÊ@,˪¼?áçRͼ?Ì$currentÁ<èªþ+´
,°t°üÚ°+Ìë°ùo¬‡%!É
ü¼?!oLJ!ã¼?o͇!D"  „±ZÇ
;çRÅ
 Ã
açRÁ
 ¿
çR½
 »
­çR¹
 ·
ÓçRµ
  •±œ±åWÛþ+T3ü°ü´°hùoé†r!æÕŒó°
+½h²Tþ+„†±cþ+$¥°Ê@,›°¼?çRÿ¼?ý$²f<¸°¡œhþ+(¡´¦´$Õ-/«O6?IH®´·´Š=BHS«OZ«Oa¼?h¼?ox¹
‚A™A¥»´Œ¹´¬:«O)P½´ Û¼ÔCŸÇ´Žejpôà…E«O«O¼? ¼?§ÔCœ¸¹
Å‚AÒ™AÝåÉ´FÌ´>CIAöà[ÔCd«Ok«Or¼?y¼?¹
‚A£™A®
(δ
17=ÓHÒ´W]ÓH syÓH<ÓHX«±ÓHtÇÍÓHåèÝIöû ¼Ó´"œJ.«O6£K>ÓHF¼?NX±fqÝI{ Õ´¤œÏL Ù´KPÚÊÕLe¬:n«OuÅM|¼?ƒŒº‚A¦®ÏLJ
D±¸ šŽkq¿¸5üý·B"œ$œ¸«O,ƒ¸Ê@,Џþ+F¼?NÕ-+¼?36¹
9r ü˹(,̹ „˹ Ú¹4â¹ Œá¹ ñ¹¥üƹ. Û¼ÔC ó¹ú¹7üþ¸|»öà¼Ü¹…E¬¦¹«O,¹Ê@,”¹ÔCæÕ-ã¼?êþ+Ƽ?Í9¹
<{ g$Á©ÁW lÎÁW%#ôÁW!ÁW@ÁWfÁWŒÁW¤Á>äÁWœØ¾¼? ˾À
”•ÂÕ-­Â?üïÁ>Õ-\ÿÁ,øÃ tøÃ …ÄüæÃ!
+/Ä@ü´ÃYçRlÎëO,ÄÃÕ-¼?Œ=Ù{|ÕÅ Ñ[,åÅ tåÅ òÅüÕÅ^¼?% }¼?H ùÅúÅAü¦ÅTÓHd¾Å«O,´ÅÑ[ßÕ-Ƽ?ͨ'J!â­â­ú\å­ùæ­±Å@Iœóë ¶¥®^Dî^ô^Õ-¬:þÉBü–ÉhK™N®^Õ-¶ƒüÓÉ%G×@®^¶ƒDö‚Ô§ÉM œÛÉÚØ—WìÓ5ÁWŒŠ[ÁWˆÁW§ÁW~ÍÁW|zóÁWxvÛÕ- öÉ÷ÉDü×É s>go±TÕ-DïÉjÕ-ÚÉ ¶ƒG¼? ØÉÁW¬e´t—Wƒ
,ÑÏtÑÏìéÏ\úÏ  ¼?û …ÐmìN ÁW¥ £t ÁW¡ Ÿš ÁW À ÁW æ ÁW  !ÁW  –ÐÐ ÛÕ-ŽEüÏüÃÏZ¨>£²TÕ-„‡ÐÕ-$´Ï«O,ªÏ¼?ùÁWå¼?ä$²f<ÇÏŠÕ-0 ,óÖtóÖü‹×+Ìœ×}A"œhrQ"¼?n®U µ×Ç F¨"ÁWÿ
ýÎ"ÁWû
ùô"ÁW÷
õ#ÁWó
ñ@#ÁWï
íf#ÁWë
 Æ×Í× ëÛÕ-è Fü²ÖüåÖhæÕŒ¤×>Ï÷²TÕ-„·×òÕ-$ÖÖ«O,ÌÖ¼?%ÁW¼?$²f<éÖœœh¬Õ-¢("à×"åפ$)/˜¨šˆœÃˆš!÷?.ù’¬ š¤(#ç×#8#°Ø
ÃÓH!' 3 ¿cxÍ#
‡dŽÍ# ÓHw¨`#”Ø
¨ÓH!'3å“òÍ#ÿ“Í#
ÓHl #ë×
'#ì×§gmt
œJÓ’Š£Kš ÓHùå“ ›–
›–å“¢®–«Þ±ì__self_0ÁVô•æ®–å“ýÿ“-®–å“ÿ“>,–Ù\Ù% ïÙÃÓH õÙ ÁÙ¨ÓH ÇÙ‡ÚIüíØšôªÙüÖÙ ÓH<þØÓ’,ôØ̪Ù¾ˆ¾¸d ,ŒÛ(,›Û1/Í#.ÃÓH,*¨ÓH(
såО"
  
¥ã†
   

 ˜›+ •á+

+
 

  /

  ÃÓH¨ÓH
ò+
 +
%±Á,õ±Á,  -
+
3/
íœ$
ýª/'+ Í#
 E¸/+
EÂ/+ %Ì/+ ;¥
 -+
Í#ýÞÂ+

Ÿ+

­
´ » ÂɦÛýª/,+Í#
Õ/+m
LüÚÚL6IÏ<;VIÁ\[ý¡žU"Œ̇ÛýUaŒyý×…¨
à|aà|aXŒš›š›ý¼#aý”+ †jç ýÀæ+  ý€ÁU,
„t, 
„t  ý˜,Î+
¢jý¬E+ ýà.€+$øÚÓ’,àÚÓ’,çÚÓHT‡ÛÓH\•Ûem˜›a˜›…Ïa¼?Ä+ \ ¼?[ íœ+ íœ+  𛕱Á,¼¢ ³ž¹
 üU/+¼?
Úsê£Ù¹,’Üõó(,¢Ü#!Í# ÃÓH¨ÓHs„˜Ü ë ˜›û  ˜›õè
+
 
 



!
ûi+ 
Uûi+ 
 ¥‘j+  ]j+
 
ýûi*+ 

¤j+   
űk+  
  `ÃÓH^\¨ÓHZ]àk+
ý®k?+ 
ìk+ if휃íœý¿o+ Í#¹%Ío+-Óo+ Úo+
9ý¿o(+
æo+-öo+ Uöo+ 
ÿo+ep+ ýóo3+
$
Ú"Í#/
6
=
D

K
 R
 ¢©®ÜNüÐÛ^×I~ÝÜ÷Ipýüý\aŠyƒà|aà|aý·
U+j­Ñaý»h‡+
Öj0
ýðiÒ+  ý¤kž+  ý÷kË+
 ý l¢+ ý¦oœ+ ¦
„tE‡l+ ý˜@Z
Û5l+ Ö„tE²l+ 0Û5»l+ #”á=µp+ ÔCœïÛÓ’,×ÛÓ’,ÞÛÓHTÜÓH\œÜ)
1
˜›a˜›…Õa%ôi+ # ¼?" 
 ¼?  Ô íœm‚l+ íœu¬l+ Mªo+4 ä ¼¢ô¼¢ýĹ
ÆE£§£ˆ£U±k+£]¾k+£UÌk+£¹ª,ÀÞê è (­ÙÝLÍ#
²e-ÙÝL%éÝL}ßÝLN * ÃÓH( & ¨ÓH$ ØÞRüýÝ[+ IÝ0 / ý¢ÝWLîeì¯\ÆÞ¬:°ÞÓ’,›Þ ì¯,¢ÞÓHT»Þ^ ¬:4º3æ¯?°$±ê((„±»»Â½¤¾êÔÃ$Cõà8'À$Íê)|ôóäÈäÈ ArgumentsÁæÈtemplateÁ `çÈÀ `üöMõô]Tdø$ëê'UÊë1Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙø$˜ë e €´ˆ$¾ëÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ($†ê ¨$Šê
$‹ê±\ùÁç`(×±ÈîÈàÚâý¨ë1ŠUÕãë1Ť=õë1Úâ HŠUxB   ¤> 


ŠU{ùŸȹMr¡Þ|¨¨Ÿª«À¬¹ ­Ì®š‚‡’u°ëcüµ ž¸Á½²l“³ €´¼€´`ü´Mø
ÙÓHx(é±°%±ê
½²å“À%Íê
“³å“ø%ëê' €´å“ø%˜ë  
€´ 
哈%¾ë 


ü´" 
.  å“(%êÍ#
d Í# ÓH'Í# ÓH+1Í#
ÓHÍ# ÓHùþÍ#ÓHÝ âÍ#ÓHÁ Æ%‘ê

  "%’ê´ÍœJØþ¸à£Kç哿 ½²òå“Î “³Úå“ €´Âå“û½¦å“  ü´¤¾b±p{ѽ哿½å“]û½å“:û½å“¢¾å“ò컸¤ÿðÍ#
d™ñVüÏðJµµ·¡+ß+Ë‹5þŒãðE±¿Tûñ“³‹òWüÇñD潜Ýñþ¸,Óñ 1tûò½²óXüÉòFѽlãòþ¸,Ùò 1Tû³½²þ+‘ôYüÏóBüÔ³7t<„ôþ+,æóþ¸,Üó E\ú´½²ÓHœõZüÖôFüд;uDŽõÓH<îôþ¸,äô Eö €´üö!Í#
·TÓH\ÓH¬:VÍ#°Ä\¤ö„ ö ¯ö¶ö[üØõ^Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÓH|õõþ¸,ëõ€´ù}£Äú,ªö\Y'¯öiÃÓHfd¨ÓHa\GZIš_^ÓH§ö°Ä} ¥öe¾¥„Ø÷€´´Ò÷$´øÍ#“ÅH€´ÛP “ø€´Û¨ÓH<šø Û¼ÓH  øÉøü÷º]ü÷÷*“Ť³÷þ¸,©÷Ìü÷ü÷÷ÓH¯(¾ÅpL½ù €´Ô½ùÍ#
·TÓH_ºÄ¬:KÍ#—Ë\Ëù„Çù ÖùÝù^üùP“Å|£ùþ¸,™ù€´ª9ŠË«,Ñùur'Öù¦ÃÓH}¨ÓHz_sIšxwÓHÎù—Ë9 Ìù~¾aL€û€´|úú$ÕûÍ#“ÅH€´ÛP ´û€´Û¨ÓH<»û Û¼ÓH Áûêûü¾ú¬`ü˜û*“ŤÛúþ¸,ÑúÌûü˜ûÓH¯(¾ÅpLÓüü´âüaü§ü;ü´\½üþ¸,³ü 1
ž¸".å“(&­Í#
ùcÍ#
ÓH'Í#ÓHuzA
ºiœJt à¿£Kå“Ï þ¸Úþ¸âª±·Á²Ó哯ÒÕ$ü¢’½€'Á’
Í#ÓHÕö“U…”•–™
 %–™
 ý–™
 íœ
´™
 L § ïíe¼îËè¿*
ý¨” …·”e·” =·”
-¹” j  Í#ÓH˜›­é(

 1 K 
Í#
”
z
 Í#¼?
Æ” ® § ïíe¼îËè¿*‚È‚ÈArgumentÁ„È´ÀbökÏ®ÝWj´
Ç”ýГ äÈ
Ö”
üμX
»Í#þ+Í#ÓH$§“ Û¼r ¨
Í#ü´ Þ”üþ‘ì µ é”ð”d
üÒ‘žý ’Ƕcîýä˜W
â|E‡”ý¾(F
×|94à|Uî(
üƲNsœí’üø»¿x´ø²ü”ÁI{<NÁ<ÐÁçX࿌⑞¸°“³®€´iÓH¿…ե휤ùÖ%¼?"¼? ¼? Ę›}é(
½²öE£"Ϲ]¼ž¸“³$°–º–eüº• ࿴ÝLÆ•“³$Ñ•ÀMü¸˜ž¸½²$á˜ë˜füá—Š†Ý´—˜†ÝLñ—½²Dü—Jüš"ž¸½²þ+$¹šÚgüنݴ왆ÝLЙþ+,Û™¤Iüê›$ž¸½²ÓH$˜œ¢œhüœ›†Ý´É›†ÝLª›ÓH4µ›êIüì" Í#
·TÓH
œÍ#¸áÄõìñüÒ<ž¸€´ ž$˜ž¢žiüùœ©†Ý´±†Ý“Å$—€´Åõ
!R«áïüŽ   Í#
·TÓH
$Ž Í#²ã´— Ü“ üôŸ:ž¸€´ ­ $¸  jüŸ³†Ý´ÓŸ†ÝL©Ÿ“Å$´Ÿ€´Åõ
!R¥ãïüð¡" Í#«á$ð¡Í#¸áÄù¡ìõ¡üÝ¡5ž¸€´ ‘¢$œ¢¦¢kü‹¡†Ý´¼¡†ÝL—¡“Å$¢¡€´´Ì!R«áÞü÷£  Í#¥ã$÷£Í#²ã´€¤Üü£üä£3ž¸€´ –¤$¡¤«¤lü†£¥†Ý´Ã£†ÝL™£“Å$¤£€´´Ì!R¥ã޼¥ž¸ü´$ã¥í¥müô¤y†Ý´¡¥†ÝL€¥ü´$‹¥šI'ž¸ü¨nü·¨ET±<ï¨ÿÁçÌîÈäßçŠUÃ,¤þÕ,  Ý,
 CŠUt?  -
¤< --ŠU|¡Þxž¸TΨ˜Ó,Ĩ 1Ϲt(\È© 
f b i p Í#ÓHa ^ [  X  U  íœQ  š  …Õ"      
  y)  Í#ÓH˜› 
 >  Y  
Í# 
 
 Í#¼?
 ¸  ùÖ¥ ¢  äÈ ¤ ­
 
»Í#þ+Í#ÓH˜  Û¼ ¨
Í#ü´   µ 
 Ù©p ü©©0¥ d7« ¶c§ â|£   ×|Ö
Ñ(à|  s˜  x  {Ž ÛÁ  çã à¿$¹©ž¸;“³9€´ô ÓHJ…Õ0íœ/ùÖ°¼?­¼?«¼?©‚ÜO˜› ½²
2£«Ϲæ (‰±Á¾ 纽²Ú ѽã í ø ϹX)±Ä)‹± ¬:ѽ#,6`*×±
òþ+òþ+òFLTx*é±
-Þž"ÓH5åž"ÓHÇ-Î- Õ-
Ü-
ã-È- ˜›Ø-  ˜›Ã-
Á-
 ¿-
 Æ-
 Ü-

 î-
 ÄÍ#Ù*÷±*˜±
°-
 ®-
¬- ©-
íœÒ-
¦-
×-  Ô- íœÊ-
§-°-Í#¹
£-¡-
Ÿ-Ø-C.
 Ÿ-
Í#-
™-
 D/K/
R/
Y/ `/Øßè¤-Í#¡- .
ÉH*±òëòò€-Œ`z-Œyþ/w-à|r-‡-à|q-Ç-Œš›š›p-m-†jP0i-  e-
„t/ x-
„tm/ b-
¢j^- [-

òѽúѽ¼?ò¼?òÓH-§ž"ÓH-®ž"˜›X-˜›V-¼?T- ®0 ¼?­0 íœR- íœP- ¼¢L- ¼¢U- ý/
޹
œ§L-¼?£/1£1¹I0
`+×±
À"þ+À"þ+Ú"@FLX+â±x+é±
-©­"ÓH5°­"ÓH½ ­"
 52 ˜›E2  ˜›J-

Q-
 X-
_-
f-
m-
M-  K- a-  J- 
H-  ^-
G-
 
D- 
K-  C- J-  \- +±
-  - - o2l2휌2 ‰2íœ--Í#¹-- -7-ÿ,ü,ú,-ù,÷,õ,
ó, --
Ú"Í#!/
(/
//
6/
=/
 D/

=DK R˜¬Ì+š±-À"ñ?À"À"#öàÀ"ýê¬W"œ-ŠyÛ2à| -Ÿ2à|
--j--
Öj/0
ÿ,  û,  ÷,
 ó, ï, 2
„të, é,
Ûæ, º2„tä, -Ûã, #”áá, ÔC>ѽGѽP|¼?À"¼?À"ÓH-ñ¬"ÓH-ø¬"˜›ã,˜›á,ß, 1 ¼?ÿ0 ê0 ¼?é0 ±0 íœÝ, íœÛ, Ù, 0 »/ ¼¢Ë2¼¢Ô2¹
E*£Œ1£m1£å,£ã,£á,£à0¹‰0
`,×±

!þ+
!þ+$!?! Û¼ÔCY_eq,â±x,é±
-Ó¢"ÓH5Ú¢"ÓHa a
  å7
 ˜›õ7
 ˜›ú2  3 3 3 3 3 ý2 
û2 
3
ú2 ø2  3 ÷2 
ô2 û2 
ó2
ú2
 3
,©±½2
»2
¸2
8
8íœ<8 98휶2¿2Í#¹´2²2°2ç2¯2¬2ª2±2©2§2¥2 £2 Ä2´2 Ú" Í#Ñ4 Ø4 ß4 æ4 í4 ô4  <CJ Q
­ëa Û¼ÔC
ÿa ½ÄØÏP,Ÿ±r
!ï
!
!í!ôà
!ý÷¡t"4ýª\ayý»¢&"ý2Šy~8à|û2Ž8à|ù2÷2‹jô2ò2 Öj6 î2  ê2
 æ2 â2 Þ2 €8„tÚ2 Ø2ÛÕ2 ©8„tÓ2 3ÛÒ2 #”áÐ2 …EYѽbѽkܼ?
!¼?
!ÔC$!ÓH-†¢"ÓH-¢"ÔCN˜›â2˜›à2Þ2 ÿ6 ¼?þ6 é6 ¼?è6 °6 íœÜ2 íœÚ2 Ø2
6 º5 ¼¢Ê8¼¢Ó80¹
>µU£‹7£l7£ä2£â2£à2£ß6¹ˆ6`-×±®%þ+¿%Í#
ªeùÞ%è%õ%Kx-é±EðLÓH3Í#
²e³•333M-¯±Ò -«±®%õ³•Ю%&Úʳ•®%ýÊïVLûe³•ø2îe³•]ŠðL¬:oѽw ³•¬:A¼?®%ÓH-ÝïL¬:
4®º»Å­•¿%‚–<4`.×±
þ+å“x.é±
ÓH!-å“(.±±Í#
ûcÍ#ÓH'Í#ÓH ¥Í#ÓHS.µ±
.¶±ÖœJŒÑ½£Kå“Ê@å“ô®–ü›–αÛåÊ@å“]®–å“;š™u!|! »Í#þ+Í#ÓHü¦¼ × °½”³sÏ À x¼ ×׉!Ùíi¢Æ@6‹1œÚ²½²7"*!w-þ+‹´tg-þ+,ë³ѽ,á³ ”-Y-ÓH‹µuI-ÓH<è´ѽ,Þ´ v-/ŹÜ/ù ¬: ¡œ )3°0–º
½²"½²6Í#
·ß½²½²SX`0«º
0йáH0ǹàžàžѽ®ѽ7¹
DNÊŸà°1–º½²½²*Í#
»½²BGO1Õ¹ä1Ò¹ÔCàžàžѽŽÑ½8¹
EO©¡À°2–º½²½²*Í#
ïß½²½²GLT2á¹çP2×¹…Eàžàžѽѽ8¹
EOô¢Å°3–º½²Í#
›e½²³•4 3ã¹E3ç¹ê$¬:/àž7¸—?ѽPº]g²¤ª°4–º
½²".å“(4é¹Í#¯ÒÍ#ÓH#Í# ÓHqv=4í¹
4î¹îeœJpàžx£Kå“È ѽÓѽÛ£±°º§å“¯Òκ'Á' »Í#þ+Í#ÓHE ×A·½xù&¡œœˆ¼½²;('ÌÖ¾½²þ+$ù¾ƒ¿yüŒ¾w ¡œij¾»©L™¾þ+¤¾argÁNìªÀ½²ÓH$ÑÀÛÀzüÚ¿»©ćÀ»©Lè¿ÓH4ó¿êIp<½²ÝÁ{[(š<ÁL(ç¡:½²d«Áàž,¡Á ª(ϹC9* * »Í#þ+Í#ÓH ×¼Â}üŒÂ0J)x\«Â¡œ$œÂ½²˜*5,œÍÍ#§ÍüêÌ=$Í ¿6,õÌѽ üÌ<ÉÍä­Í¬:ÆÍ‘®,´Íþ¸ »Í:àÍ”Îͬ:ÝÍ‘®,×Í /DÔÎÔÔÎÍ#
ð6*DåÎŒÝÎôΊü›ÎY$ÅÎ  ð6,¦ÎѽD­Îß°!T“°¡D£Ï¤£ÏÍ#
ð6+4°Ï\¬Ï¾ÏüúÎD¬:˜Ïݰ,Ïþ¸4ˆÏ¬:sß°&¡(Wб¥DÝÏ„ÝÏÍ#
ð6+<æÏôÏŒüÃÏ1¬:ÒÏݰ,ÌϬ:`ß°?‘³D’Ñ =Óý
UniqueÁ ž_markerÁ8Åá™-Ýñ¾7§ ïíe¼îËè¿*¾7  ¾7¹¿üÑÍ#
¾7lÑD£ÑŒ›Ñ²ÑüÔÐ^ý²ý.
£¾7Ä7,$þÐ ý6,ßÐѽDæÐ ¾7yºµ-¼ý
þ´ 57éµÑDæÑ £³´þ´º ºµÊDJÌáÑÍ#
¾7láÑ4óÑ\ïÑÒü¸ÑI.£¾7Ä7³¬:ÖÑ϶,¿Ñþ¸4ÆÑ¬:Šç¶xºµ-þ´68¡:}–¸ÎD¥Ò γ´þ´å ºµõDJ¬ ÒÍ#
¾7l Ò<®Ò¼Òü†Ò6Q£¾7Ä7«¬:•Ò϶,Ò¬:wç¶eºµEþ´N-eÁº®5ã• E¡Ú%ÏŠ%§ ïíe¼îËè¿*‡8‡8ArcInnerÁ‰8strongÁ7Š8Ü78dataÁ7 µ¯sµ3‡•¾7Mè'O  ¿¼¹•úµ¾7ÞüÔÓÍ#éµlÔÓDêÓŒâÓùÓü›Ó^ýÁ• .ˆ;¾7Ä7DÙÓýÚµ8®9¾7Ä7býš×î8¾7Ä7=€¶ý߈%«¿¼ý†~û%ª¿¼EÔŠ%ý´'COÈ¿¼eÝŠ%$ÅÓ ö7,¦ÓѽD­Óç¶©½ÕÏŠ%‘¼þ57
éµXJGD‘¼» ©½p¸¾7̨ÔÍ#–¸l¨Ô4ºÔ\¶ÔÈÔüÿÓIµˆ;¾7Ä7D­Ô±®9¾7Ä7­î8¾7Ä7¨¥«¿¼1 ª¿¼œÈ¿¼¬:ÔÍ¿,†Ôþ¸4Ô¬:òç¶婽˜‘¼8¡:ê–¸6ÞÛØ‘¼O ©½L¾7'¬çÔÍ#ÁºlçÔ<õÔƒÕüÍÔ6Aˆ;¾7Ä7DìÔ=®9¾7Ä79î8¾7Ä741«¿¼½,ª¿¼(%È¿¼"¬:ÜÔÍ¿,ÖÔ¬:ßç¶Ò©½‘¼-ÒÁº¤Ó×Í# ¤]¤]V¦]Á‚]üß3ø¤”&¼?tî×i¥¼Aª¼%©¯î0î0
UnsafeCellÁð0»Ì-·}—KEüC£™]™]š]Align8Áœ]ˆ] ̲ˆ364¥¼?M‡O ¼?¤ù˜¼'Í#
ù]¼?Ô´¼Í#¼À½À¾ÀË¿ÀÀÀÌÁÀÂÀGÃÀÄÀFÅÀÆÀ×`šÁ¬S øB)¹¼® ¾¼“Øü¤×oùþºÒ—Äüè×(ùÊé `ªÄ¯ý‚­ßû0õÇ)ê ýØ>OÂõǼ?1–ê ¬:Ì×Õ-,¹×ÕÆm¼?,î׬:q¿È1 ½Ç婯¤@ÎÝȨ¤žàÍ#ÕÆt¹à½Ç¿È¸Í#ÝÈß Í#ÿÈGšÞà˜üñÝí—Äü³à(ªÄ;Œû0õÇÂõǼ?¬:¥ÞÕ-,’ÞÕÆ&¼?,¹à¬:ì¿È¬ËËy¤:­ÝÈüÑè,¤ÑèÍ#ÕÆ¼æèi¿²½Ç ¼?ù³²!Í#
þ]¼?LÍ#ÿÈ)β9 Ó²üÂè< Õ- ýè‚éüñäù±Ç–ÄÐ/ªÄAIJ.û0õÇ($ÂõǼ?!Õ-\‡å¼?HÕÆGËÏ,ËËãÏ>é‹
¬:!-å“(>Ç‹Í#ÿ“Í#ÓH#h0>Ë‹
>Ì‹óXœJc Ï8m£Kt哼  ¬:ɸÓÑš±§±¶Óå“þÿ“Ä
¬:!-å“(?ÜÍ#ÿ“Í#ÓH#h0
øXœJc 9m£Kt哼¶ÓĸÓ̱¢¬¶Óå“ùÿ“¿%Ëá"Í#ûH@ãý›á>"ò$¬Õ,¬Õ4=¹
JTý ¬:¬Õ&0 Û¼ 
ÓHÓHÜÁüŠRÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙØüŸ"Ø$ tÍ#¯ØØÄüŒL¯Øü¡"¬:$˜ Í#¬:4(BšÍ#ÝIÍ# ÓH!)@œJK ¼:U£K\e±r|ÝI
ÓH
ÓHÓ
 •½•½LocationÁ—½filenameÁ¯V˜½š¯V™½colÁ¯Vš½ _filenameÁ¯VirBð¸tý– -´Æ1 ùGž"#
 Í# LÓHtDqDnDkDhDíœdD­D …Õ5D2D.D+D(D%D M Í# LÓH˜›"DQDlDÍ#"D™D
Í#¼? DËD ùÖ¸CµC
äȰC·CMùF@#Í#
ÜW
o "H^P (ýE
F
 F
Í#ÓHüE  ùE !öE &óE &ðE !&íœìE &5F  !…Õ½E !ºE "¶E #³E $°E %­E ' M' Í#ÓH˜›ªE
%'ÙE 'ôE $%Í#ªE %!F #
$Í#¼?¨E $SF " #ùÖ@E #=E  äÈ "8E "?E  HG
6E( »Í#þ+Í#ÓH3E
 Û¼£G
 ¨(Í#ü´1E
3R (C“³†B½²þ+B½²ÓHŠ@)%¤Û1*4Ø* UŸÛ1) Û¼*
¨Û1*‹@€´)@)E‰CÄ,+,§ ïíe¼îËè¿*5+ ,‚ÜåÍŠ% +
èŠ%+z,? -é".å$.  â"- Û¼.Þ".“? €´-Š? -„¢ 
MŠQÄ%
$ Û¼
±
E?&ü´ ² |€Y(„ÿäôÍ#
T1¬û   üí ¦É;ü§ ìüÊ ÉýýÅL1£TØKù ¾|` ÅG¶c;ÀGâ|¼G¹G×|ïIsOà|¶GUVŒÜ !H dgU (H
¶cK
$H â| H H ×|SJ sO
à|H
H
sH
HxHH
{ H
¬XÁ
Hç`Z-GeT…
Fgd™
ŒEh
¸CjüÇ
%ýýÙ×1·TÓH²ã/D­”Û1ýÛGBt™"²ã²ãÓH ,ýšBÄÉV4‹ë«êäªÞÛÈÖ¡Blìö
º ·TÓH²ãC ´!!°"™"²ã²ã¬ì¼!·#×#ýàP9ÄËVtBm´ Bn<ˆDZ'±B'¬X(Á¢X()çÁZ)Y(îÈ÷X(Y++Y,+ëZ(ŠUdY([..IH/¤[.IH00IH10ëZ(ŠUÉY([33IH4¤[3IH55IH65ëZ(ŠUåY([88…[9¡Þ[8/¬:¦ ƒè4†
“³$•
þ+
 ÓHÓH×Ûܼ
¯Ø ÓHÍ
ÓHÃ
×Ûº
µ“³
ÓHT‡ü´II¬:Ä ƒèþ¸éž¸=»Æ1ÓHg
…ÕÀN휿NùÖ@N¼?=N¼?;N¼?9N‚ÜßN˜›Kž¸3O
“³1O
€´ìL
ÓHBO
…Õ(O íœ'O ùÖ¨N ¼?¥N ¼?£N ¼?¡N ‚ÜGO ˜›ƒK
½²wM€´HŽ‚ÜÄ å¿€´WF ²!ƤÀ¨¤­kvsÁ¡ês ¹ m œg  ࿞¸ñ
äß
ýçpƒè5ƒè<£jO£qOϹW\²ã
ÓÛ1²ã
ϹW\Í#
Í#
¾œÄüáxÍ#Í#
É,‘Ô ƒU ØÛü•Æ&6Ë2 ¬:¸¬ö“³þ+ÑðÔåçõ¯¬öH¯Ø+¢ÆKÀN¤Rtarget_module_path_and_locÁo„ósëáõŸ¦öo¬öü¹7~P »Í#þ+Í#ÓH](þ+Ø'ÓH¬Xü¸8ü©HÍ#
ƒè¦0ü°A ð ò
ó#üÝÏYPsœ¹UPxQP)y(zqP{¬XÁmPçÁZƒèþ+,ÿÓH4¹ñ¯ѽ=½²­½²+RÆB¤FêJŸúxƒèHƒèOϹW\ýÄ5$ÄÍ#
ÍÊÑü…Eý†5hÄÈV”¶×ÛÔ•.¼ýj°HÙœ
øOÇ    øIÿœ' „ª ÷'øJÉ) ”ö ÷'øK—ž( K¾žŒÃž ÷'øLãž( 
LŠŸŒŸ ÷'øM¯Ÿ)  Mן”ÜŸ ÷'øNýŸ) 
N¥ ”ª  ÷',ôŸOå  „ê  ÷' øP…¡!


P¥¡
”ª¡ ÷'
øQÇ¡    Qæ¡ Œë¡ ÷' øR‡¢    R¦¢ Œ«¢ ÷' øSÇ¢!


Sç¢
”ì¢ ÷'
”‰£ ÷ £ü©œöÒÕ-\Åœe oÊw$Ñ~tù¦SÐ é÷ÓH D§Ø œ(4ÓH;BÌÏ‹ ïð&Ï81¬:8?Ôó ôõ&91¬:8?                
 ~‚ƒ˜šœž §©ÒÙ»¨÷µ×ïðôõÀâ”|¬Ä,º|ÄÔFromStrÁ<Ï|ïyâ|×ç|¤,íì|ë Û ,™ ç \²k ù lâr
 d´vàLÑ|\釢„åŠÑŒý‚ Œ­‘ 
\ö}„Ä®Dƒ~¼ÀϪÓÕ$º4Õ×$ÕAÖ,ÁM×é,Š[ØüÓüÓ! A lightweight logging facade.ÁõúüùIF The `log` crate provides a single logging API that abstracts over theÁüÃMJ actual logging implementation. Libraries can use the logging API providedÁü‘MJ by this crate, and the consumer of those libraries can choose the loggingÁüß:7 implementation that is most suitable for its use case.ÁšúüžOL If no logging implementation is selected, the facade falls back to a "noop"ÁüîKH implementation that ignores all log messages. The overhead in this caseÁüº>; is very small - just an integer load, comparison and jump.ÁùúüýPM A log request consists of a _target_, a _level_, and a _body_. A target is aÁüÎPM string which defaults to the module path of the location of the log request,ÁüŸ OL though that default may be overridden. Logger implementations typically useÁüï C@ the target to filter requests based on some user configuration.Á³
ú
 # UsageÁÃ
úüÇ
RO The basic use of the log crate is through the five logging macros: [`error!`],Áüš 30 [`warn!`], [`info!`], [`debug!`] and [`trace!`]ÁüÎ ?< where `error!` represents the highest-priority log messagesÁüŽ IF and `trace!` the lowest. The log messages are filtered by configuringÁüØ <9 the log level to exclude messages with a lower priority.Áü•
IF Each of these macros accept format strings similarly to [`println!`].Áß
úã
úüç
" [`error!`]: ./macro.error.htmlÁüŠ  [`warn!`]: ./macro.warn.htmlÁü«  [`info!`]: ./macro.info.htmlÁüÌ" [`debug!`]: ./macro.debug.htmlÁüï" [`trace!`]: ./macro.trace.htmlÁü’IF [`println!`]: https://doc.rust-lang.org/stable/std/macro.println.htmlÁÜúüà]Z Avoid writing expressions with side-effects in log statements. They may not be evaluated.Á¾úœÂ ## In librariesÁÖúüÚGD Libraries should link only to the `log` crate, and use the providedÁü¢NK macros to log whatever information will be useful to downstream consumers.Áñú„õ
### ExamplesÁú ```Áü’.+ # #[derive(Debug)] pub struct Yak(String);ÁüÁ1. # impl Yak { fn shave(&mut self, _: u32) {} }Áüó52 # fn find_a_razor() -> Result<u32, u32> { Ok(1) }ÁÔ© use log::{info, warn};ÁÄúüÈ)& pub fn shave_the_yak(yak: &mut Yak) {ÁüòJG info!(target: "yak_events", "Commencing yak shaving for {yak:?}");Á½ú loop {ÁüÐ" match find_a_razor() {Áôó Ok(razor) => {Áü’41 info!("Razor located: {razor}");ÁüÇ%" yak.shave(razor);ÁÔí break;ÁŒˆìš Err(err) => {Áü¸GD warn!("Unable to locate a razor: {err}, retrying");ÁŒ€¥l’
L ”° # fn main() {}Á Ëú¬Ï ## In executablesÁåúüéUR Executables should choose a logging implementation and initialize it early in theÁü¿LI runtime of the program. Logging implementations will typically include aÁüŒ:7 function to do this. Any log messages generated beforeÁüÇ63 the implementation is initialized will be ignored.Áþúü‚A> The executable itself may use the `log` crate to log as well.ÁÄú ### WarningÁØúüÜ41 The logging system may only be initialized once.ÁúÌ• ## Structured loggingÁ¯úü³FC If you enable the `kv` feature you can associate structured valuesÁüúMJ with your log records. If we take the example from before, we can includeÁüÈDA some additional context besides what's in the formatted message:Áú< Ü™ # use serde::Serialize;Áüµ96 # #[derive(Debug, Serialize)] pub struct Yak(String);Áüï1Ø ü¡@= # fn find_a_razor() -> Result<u32, std::io::Error> { Ok(1) }Áüâ" # #[cfg(feature = "kv_serde")]ÁŒ… # fn main() {ÁÔ—Ñ¡²úü¶)¢üàIF info!(target: "yak_events", yak:serde; "Commencing yak shaving");Áª ú“£ü½ "«£ôà Ö£üÿ 2/ info!(razor; "Razor located");Áü²!%¼¤ÔØ!ꤌó!¥Ü…" Err(e) => {Áü¡"GD warn!(e:err; "Unable to locate a razor, retrying");ÁŒé"¥lû"«¦L‰#Á¦,“#Ó¦<™# # }Áü¡#'$ # #[cfg(not(feature = "kv_serde"))]Á”É#á¦<Ü# ä#úüè#96 See the [`kv`] module documentation for more details.Á¢$úü¦$'$ # Available logging implementationsÁÎ$úüÒ$:7 In order to produce log output executables have to useÁü%74 a logger implementation compatible with the facade.ÁüÅ%<9 There are many available implementations to choose from,Áü‚&+( here are some of the most popular ones:Á®&úì²& * Simple minimal loggers:Á´Ð& * [env_logger]ÁŒç& * [colog]ÁÌù& * [simple_logger]Á¬“' * [simplelog]Áì©' * [pretty_env_logger]Á¬Ç' * [stderrlog]ÁÄÝ' * [flexi_logger]Á¼ö' * [call_logger]Á´Ž( * [std-logger]Áì¥( * [structured-logger]Á¬Ã( * [clang_log]ÁŒÙ( * [ftail]Áüë(&# * Complex configurable frameworks:Á”’) * [log4rs]Á¤¥) * [logforth]Á„º)
* [fern]Á¬Ë) * [spdlog-rs]Áüá)$! * Adaptors for other facilities:Á”†* * [syslog]Á¼™* * [slog-stdlog]Áü±*" * [systemd-journal-logger]Á¼Ô* * [android_log]ÁÔì* * [win_dbg_logger]Á¬‡+ * [db_logger]ÁÄ+ * [log-to-defmt]ÁÔ¶+ * [logcontrol-log]ÁüÑ+ * For WebAssembly binaries:Á¼ñ+ * [console_log]Áä‰, * For dynamic libraries:Áü¦,b_ * You may need to construct an FFI-safe wrapper over `log` to initialize in your librariesÁ„‰-
* Utilities:Áœš- * [log_err]Á´®- * [log-reload]ÁäÅ- * [alterable_logger]Áâ-úÜæ- # Implementing a LoggerÁ.úü†.PM Loggers implement the [`Log`] trait. Here's a very basic example that simplyÁü×.KH logs all messages at the [`Error`][level_link], [`Warn`][level_link] orÁü£/*' [`Info`][level_link] levels to stdout:ÁÎ/ú<Ò/ üÚ/'$ use log::{Record, Level, Metadata};Á0úĆ0 struct SimpleLogger;ÁŸ0úü£0$! impl log::Log for SimpleLogger {ÁüÈ085 fn enabled(&self, metadata: &Metadata) -> bool {Áü1+( metadata.level() <= Level::InfoÁL­1Á¦·1úü»1(% fn log(&self, record: &Record) {Áüä10-
 ~‚ƒ˜šœž §©ÒÙ»¨÷µ×ïðôõÀD<âE<¬ÄD<ÄV<Ô‡Œ><ïy=<×<<¤,í;<ë Û :< ç 9< ù 8<
 7<à6<5<¢3<Ñ1< /< 
-<„Ä®,<¼ÀÏ+<ÓÕ*<Õ×)<Ö(<×é'<ؾ=Á=Ä=D|»=Tµ|®=ŒÅ|=Ü|=„=t=w=g=j=T€}4„}”Œ(|üŒ= Ÿ ´%  Š8Æ4—& , Ÿ8Æ4 & ¦8$ «8ê4­& ³, µ8ê& ¼8$ Á, Ã8lvlÁÄ& Ç8$ Ì, Î Ï ú
, Ð8keyÁÑ& Ô8¯Õ, Ø Ù æ& Ú, Û8captureÁ& ã8¯ä- ç, é ê ø ë, í8»& ó8- ù$ û ü% ý, ÿ  ˆ, 8î¨& 8¯ *Œ  ü   û 8š8‡‰ž ¢, ¤8‡‰¥% ¨8²8‡‰µ¹, ¼8'Â8¦„ÄÕ8‡‰ØÜ, ß8'å8¯ ð ñ ó õ , 8,'8Þl‰'8Ϙ  ê , ­8Æ$ ´, Æ8'Ì8Þ'Û8ë è é ò, ê ë ð, ì8î¨í ñ$ ó8‡‰$ ˆ š  è, œ8ê4$ £, ¥8'«8Þl­'º8¹  Ç È É$ Ê, Ì8'Ò8Þ'á8œã æ ç$ é û ü Ó , ý þ Ð  ÿ Ï 
, 8, '8àLˆ    , 8ɉ$ ˜ , š 8, '  8 ­  ®  Î  , ¯ 8ɉ° , ´  µ  ¿ & , · 8‹Š<¸ 
À  Â , Ä  Å  Ì , Æ 8»
Í $ Ñ  Ò 8Õ  Ø  Ù  Û 8 Ú $ Ü % ë % ý  Û! ž"8Æ4Ü!& â!, ä!8Æ4å!& ë!8$ì!$ ð!8ê4ò!& ø!, ú!8ê4û!& "8$"$ †", ˆ"8‡‰‰"& Œ"8$"$ ", “" ”" œ", •"8î¨"& ™"8¯š" "* " £" ±% ¤" °%8®"8‡‰²" ¶", ¸"8‡‰¹"% ¼"8Æ"8‡‰É"Í", Ð"8,Ñ"'Ö"8¦„Ø"é"8‡‰ì"ð", ó"8,ô"'ù"8¯Lû" „# …# ‡# ª%, •#8,#'#8Þl#'ª#8Ϭ# ¯# Ÿ%, Á#8Æ4Â#$ È#, Ú#8,Û#'à#8Þlâ#'ï#8ë\ñ# ü# ý# †$, þ# ÿ# „$, €$8î¨$ …$$ ‡$8‡‰™$$ œ$ ®$ ¯$ ü$, °$8ê4±$$ ·$, ¹$8,º$'¿$8ÞlÁ$'Î$8¹ \Ð$ Û$ Ü$ Ý$$ Þ$, à$8,á$'æ$8Þlè$'õ$8œ÷$ ú$ û$$ ý$ % %$ %%  %% ²%Ä¥kü‚cMJ Determines if a message logged at the specified level in that module willÁtÐc be logged.ÁßcúüãcOL This can be used to avoid expensive computation of log message arguments ifÁü³d(% the message would be ignored anyway.ÁÜdútàd # ExamplesÁïdú<ód üûd)& use log::{debug, log_enabled, Level};Á¥eúü©e$! # struct Data { x: u32, y: u32 }ÁüÎe96 # fn expensive_call() -> Data { Data { x: 0, y: 0 } }Áüˆf74 # let my_logger = log::__private_api::GlobalLogger;ÁüÀf# if log_enabled!(Level::Debug) {Áüäf$! let data = expensive_call();Áü‰g>; debug!("expensive debug data: {} {}", data.x, data.y);Á,ÈgÓ¦ÎgúüÒg52 if log_enabled!(target: "Global", Level::Debug) {Áüˆh# let data = expensive_call();Áü¬hOL debug!(target: "Global", "expensive debug data: {} {}", data.x, data.y);Á,ühÓ¦‚iúü†i63 if log_enabled!(logger: my_logger, Level::Debug) {Áü½i#å¡üáiO’¢,±jÓ¦<·j ¿júüÃjQN This macro accepts the same `target` and `logger` arguments as [`macro@log`].Á(|•kòK ¾k ³r l Ãl8Æ4Žl& ”l, l8Æ4—l& l8$žl$ ¢l8ê4¤l& ªl, ¬l8ê4­l& ³l8$´l$ ¸l, ºl8‡‰»l& ¾l8$¿l*Ål Èl ®m Él ­m, Ól8,Ôl'Ùl8ù lÛl èl él §m8Æ4êl& ðl, òl8,ól'øl8 dúl †m ‡m m, ˆm8Æ4‰m$ m8ê4m& ˜m, šm8ê4m$ ¡m, £m8‡‰¤m% ¯m êm Šn 8Æ4ëm& ñm, óm8Æ4ôm& úm8$ûm$ ÿm, n8‡‰n& …n8$†n*Œn n “o n o, šn8,n' n
1'üÞ•&þ+$ïß$ü™–C\œ– þ+ Õ-…E# ¨–#
$$©–¹
\(´Ÿ—þ+&'ðyñy'D¼—Á—%%›9üÜ—4Dß— Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
þ+þ+ðy% ï—%
'¤,è—ܬšþ+)Åc)üΚ6Ñšˆ þ+ ˆ c cˆ¢cµ
 `£cÄJ `àB¤GS
œJ( Õš(
)$Öš×ÜšT¯›þ++,-./23üÀ›(TÛ¼?çR**ÙÀ6*¬žžüà+( Returns the most verbose logging level.Á¥žþ+**