From f8f497d8d94026a240bdc267cea4a19bcf3f3d50 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 12 Apr 2024 20:59:44 +0000 Subject: [PATCH 1/2] Update single include header --- single_include/xtr/logger.hpp | 42 +++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/single_include/xtr/logger.hpp b/single_include/xtr/logger.hpp index cfe5c18..22a9603 100644 --- a/single_include/xtr/logger.hpp +++ b/single_include/xtr/logger.hpp @@ -2948,6 +2948,12 @@ class xtr::logger #endif public: + enum class option_flags + { + none, + disable_worker_thread + }; + /** * Path constructor. The first argument is the path to a file which * should be opened and logged to. The file will be opened in append mode, @@ -2982,7 +2988,8 @@ class xtr::logger const char* path, Clock&& clock = Clock(), std::string command_path = default_command_path(), - log_level_style_t level_style = default_log_level_style) : + log_level_style_t level_style = default_log_level_style, + option_flags options = option_flags::none) : logger( make_fd_storage(path), std::forward(clock), @@ -3021,7 +3028,8 @@ class xtr::logger FILE* stream = stderr, Clock&& clock = Clock(), std::string command_path = default_command_path(), - log_level_style_t level_style = default_log_level_style) : + log_level_style_t level_style = default_log_level_style, + option_flags options = option_flags::none) : logger( make_fd_storage(stream, null_reopen_path), std::forward(clock), @@ -3058,7 +3066,8 @@ class xtr::logger FILE* stream, Clock&& clock = Clock(), std::string command_path = default_command_path(), - log_level_style_t level_style = default_log_level_style) : + log_level_style_t level_style = default_log_level_style, + option_flags options = option_flags::none) : logger( make_fd_storage(stream, std::move(reopen_path)), std::forward(clock), @@ -3093,15 +3102,19 @@ class xtr::logger storage_interface_ptr storage, Clock&& clock = Clock(), std::string command_path = default_command_path(), - log_level_style_t level_style = default_log_level_style) - { - consumer_ = jthread( - &detail::consumer::run, - std::make_unique( - detail::buffer(std::move(storage), level_style), - &control_, - std::move(command_path)), - make_clock(std::forward(clock))); + log_level_style_t level_style = default_log_level_style, + option_flags options = option_flags::none) + { + if (options != option_flags::disable_worker_thread) + { + consumer_ = jthread( + &detail::consumer::run, + std::make_unique( + detail::buffer(std::move(storage), level_style), + &control_, + std::move(command_path)), + make_clock(std::forward(clock))); + } control_.open_ = true; (void)detail::get_tsc_hz(); } @@ -3162,6 +3175,11 @@ class xtr::logger */ void set_default_log_level(log_level_t level); + /** + * + */ + void process_some_log_events(); + private: template void post(Func&& f) From d632965b3f43543372f2279e719203b3613980eb Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 12 Apr 2024 21:02:29 +0000 Subject: [PATCH 2/2] Update documentation --- docs/api.html | 30 +++++++++++++++--------------- docs/genindex.html | 2 +- docs/guide.html | 2 +- docs/libxtr.3 | 8 ++++---- docs/objects.inv | Bin 3794 -> 3758 bytes docs/searchindex.js | 2 +- docs/xtrctl.html | 2 +- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/api.html b/docs/api.html index d3645cf..281a56e 100644 --- a/docs/api.html +++ b/docs/api.html @@ -58,10 +58,10 @@
  • Logger
    • logger diff --git a/docs/guide.html b/docs/guide.html index 619fb38..5b47655 100644 --- a/docs/guide.html +++ b/docs/guide.html @@ -487,7 +487,7 @@

      Formatting Containers, Tuples and Pairsstd::chrono::system_clock() is used to read the current time, this can be customised by passing an arbitrary function to the ‘clock’ parameter when -constructing the logger (see xtr::logger::logger()). In these macros

      +constructing the logger (see xtr::logger::logger()). In these macros

      Real-time Clock

      diff --git a/docs/libxtr.3 b/docs/libxtr.3 index cbd39e0..878cf1d 100644 --- a/docs/libxtr.3 +++ b/docs/libxtr.3 @@ -252,7 +252,7 @@ The main logger class. When constructed a background thread will be created whic Public Functions .INDENT 7.0 .TP -.B template inline explicit logger(const char *path, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP, option_flags options = option_flags::none) +.B template inline explicit logger(const char *path, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP) Path constructor. The first argument is the path to a file which should be opened and logged to. The file will be opened in append mode, and will be created if it does not exist. Errors will be written to stdout. .sp .INDENT 7.0 @@ -269,7 +269,7 @@ level_style: The log level style that will be used to prefix each log statement\ .UNINDENT .INDENT 7.0 .TP -.B template inline explicit logger(FILE *stream = stderr, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP, option_flags options = option_flags::none) +.B template inline explicit logger(FILE *stream = stderr, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP) Stream constructor. .sp It is expected that this constructor will be used with streams such as stdout or stderr. If a stream that has been opened by the user is to be passed to the logger then the \fI\%stream constructor with reopen path\fP constructor is recommended instead, as this will mean that the log file can be rotated\-\-\-please refer to the xtrctl documentation for the \fI\%reopening log files\fP command for details. @@ -295,7 +295,7 @@ Reopening the log file via the \fI\%xtrctl\fP tool is \fInot\fP supported if thi .UNINDENT .INDENT 7.0 .TP -.B template inline logger(std::string reopen_path, FILE *stream, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP, option_flags options = option_flags::none) +.B template inline logger(std::string reopen_path, FILE *stream, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP) Stream constructor with reopen path. .sp .INDENT 7.0 @@ -321,7 +321,7 @@ Reopening the log file via the \fI\%xtrctl\fP tool is supported, with the reopen .UNINDENT .INDENT 7.0 .TP -.B template inline explicit logger(\fI\%storage_interface_ptr\fP storage, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP, option_flags options = option_flags::none) +.B template inline explicit logger(\fI\%storage_interface_ptr\fP storage, \fI\%Clock\fP &&clock = \fI\%Clock\fP(), std::string command_path = \fI\%default_command_path\fP(), \fI\%log_level_style_t\fP level_style = \fI\%default_log_level_style\fP) Custom back\-end constructor (please refer to the \fI\%custom back\-ends\fP section of the user guide for further details on implementing a custom back\-end). .sp .INDENT 7.0 diff --git a/docs/objects.inv b/docs/objects.inv index 5c7514b177ea7be8a15fc7b9d64f90c64ebb8161..9e584d247e95f3e0ad503c52ea4404b8dfc13811 100644 GIT binary patch delta 3586 zcmV+d4*l`c9j+aabAMTH8_5xV*RLRuyfWzfAdm;g)-D7qyNaX@k|&~1i7>D5@UHTZ z-=1%VltfWOa$2OlTEKuQs_Ltn?mE8e9{XRn*Zqs1`@dXY{Pbi0>gUVLPUwwXm`ysg zixzj!S7ep_A{_&u|VTjBA_3g(NQnxp)gntf0wX)a7++k}s7e9UO zfBbOu;p4^azxRvYUjO^>g06)w+esaM&?m`5PrD)54zjiFwx$nT{^jQUDSCHH{`&d|z7wX?US5vFVlWwR>h(WfU40clacDBqqkre{ zH0;k855v?7nt$(5KBx5go5cZ3yNnI+*mAv%&bTpCiO3Gk3RowlH+_ z`3@7*HfWviL41BV?-t>{KOg*eWo48`KFvzZQ1cq9rRinPY1R*J>cU|0@J9R3%e#fw z&WZml(=wgr`JbWoo8Gm<2coyxdgIOye!5wx`J(#zynp@(pZbd(A4`4h^|oTBO%l8# z=NqE#kM#sO{sEod%CkR~^RqOWrt#|*_IrB&+&c1XGU~6?TXjL&s9M>eboIIab&!7D zZ>iVA-|c(g+iljZ678`vwRo7OUCXUssWgDCVA6QGbJsRoauYz+IsEeO2`9}QcCihb ztQDIv(|>F>nY{(GR&2)1ZsCS+!K@XVF$d#3c>|=V^qLXJlW}?rVx`xN_^X?ZA5)%3we1M&8kpI=NYC8((ePbb zpwy1P6xcA2I_De3XcsQF&5ha@@)8ppOTOFj3x9IH3H-SJjIJwce=uI8S#}}yr;FM3 zwfs1ogfAOb8>+=A9oevSC4RWLJpcYK{BCwXhhvQPdbR4R+NaTU=oV>5XnnsRINqs~ z2E_61ybB+W4V3WYz=0a{Jp<)fr%oIw$GY<_d^kE#cAY@Ihj=-SZ>J8M(|GlsTsby~ zc7Gi;zJnM#jcX?kq0>0^jyyRwfPU`)E`vmy|5}|FY?}H+p3kgC?n^4Y36on& z>-yFZnWsVj98QWiIP7TIEzcV*Opmb8cEt&nXrp*~o!esi;_Q-7| zeg4T^f2OxDA$q;rqC=UzP;PctL^_(mmc!xembd?+UB6N~e*w3>5&O~9w$2mSbbm4* z{8sd)h1yoxiFM424zH{ne#_yt`NoGkRIFZEZg}Dy_m%BEIpP-nJNZ{qeZP}SZz?_~ z@a>8A@5_st_P$W*^%^&~LI3j;fO(4QuUk;V$-Gtk)-bXb-^Lis`_%%r_eQTZwt-r) z+GiNKqLAAllS7yF7yVBTf5@ll`G51Hap;|Y{WQJ479VDJ^H-R?Uj22O4)8YkA11Sr zTYN(UmrtwvZSZg1H(ek1xcrBDW-&ZMvA)UvYwJ94H|N)%>rXq7@NsdU+P}uJ7qy-q z+75iRzI{?@9OJ}-58?VkA_Q9G*jV9js60`6mqcwcX)0i4>Ri2x-ZGROK<#DhN z^I;qce1r6MdHi3|<8989uZ{x`b2|M>=X@s`GJH6k1k{Z+6Kln)UR$7Y3un(0fQ}58 z^ZPeilC|<)_!YHyBfeT`?=>)A`q5x<05sL~I;{A;QkEt|MT#@WJmpYlO@X%Cx$#N*gOOXg41%Fd41}>B#j>#OU zveIW`bLswi7ru1UICewz7IK+x{pwV|I)yFN+c-FVgZk>ax%=y2ao=5$yAtPD=Sy#B zC$AN;8&XN_nYKcaWFdtUWoVQb?@=MOAURs}ZNoD0(gc-*GEo+y<={zD;1bv}5*Z#j zXcCB#C?$@kGBm8eCCbQP60%z_pvQ2HrPSbw{K6${yVZ44^7U{agN zec_%u?wLX5wGjn8NN-7S9KjD{ms8|rXhBIYyeF0gXR{PQk|7702uKK;S0NhcmPP<` zY%A(vG!z@Flk-t!Z>%muOIBNC071XfO1Nx@mM&paNOUo=z3pW(&V#$Yxt~s}zKs3M zl<^R`qXtjslYi41F)Ywp?fwmT0i<;#8ta910=cYaE#?HJ#3Cg~7PdW*;Y<?fmd0`>2gh(SNN+n{GYqw7|HW+;vt*yEnDQ z*2WGKKdOe9%^Im@?{ulw+WI_zMo##4b>Ntx`kcxC0?LFJa?V8X8k(mULI+HU| znv!S&uYY)_=g1Xah=yu{@{XP(nL_uYL>P)B%sTsw5vvRhiO0~6iQ_>8Z&<208EAF{ zZSvBpGBoa01Y1Q@MylXB6-Tk*QUsnN%9bfZ6O3ChYC{QwgI0sMCaxvQymiL1RE8!k z%2Na@@yKxD66!og6YgnJg5ZZjG_)FY46a<_lz*cFYV=G7LX6Ql2%QVjvWkc~7E!P) z=&P~V8P2hu0`r-2WoRl!FA%60z$#*GO$03t5)3;hhSphzW>Dfettgiz+JWe^EKnSy z1FhpGghDjstfH9YLIhbO7UQ%{7$#&j-hvJkqG==mNKYmyFs21sHx`X)8NA?>6ry1= zVt>SYYrzRXD$ry-2{C4`oXbKNK567yS4$R>Nh}~qJ%|R0I!1z`&RH2+4k0JY6Uq=K zC!!em9_B7&2L`C@51{QkZn&&}eKwlJhPsYM_4tcbMgIFFE{ADd;j5dD`P79}Qv=5$ zrB%n&lw|}niPTD=C1nh8Xl>l%;}#Nkcz-G(!4k7#0^A2g#Ziq3mJ_dXZjXf0LlLfw zMTt1W=UG#MrvX7E%3=`MKxz6#e`BO0_9+0C~+bP>;Mt%k*ZQ71p?FCkO-VILL1ED)_g$dB!tnIhq?2VAR1SY$4`xkC9wyRS*R}MZ-Yra|ESCC`e1NfyvpZk)bKHN2;{Z ze5v=w5pTeSZA3a5#xTX9S{5K-$28-@gM*_$gRKUOp@>OGs?oDx#WQ$4_^uGBEGW&@ zCX$5dBl}1sSnTPL&;t+fuGQ*ogm?q zro2p)kR+YOWQ_V3X*GdYRg_9**a=O=4CaH7uqgyZs*^z~ZAOGk3_T&1#D6k6u)vJU zxd)}iY#yT#-trt(A|mc{dNQre^B>jE-J4o$HO#Dz-7wG9qgEcgnz3Gbd;KV0&m%un z;%BqP!HcBpgyHdaFiM@(zklYfKEkchG{wiEW}e(E+`mLveYbM`X7&3kcbCrg9)#WC zmuGWWNsDfEF1h!4Zfdz|6Yk-{>i-9+->lg+XRc(rwam@xze0H$ge!n$SUes(tdIXT zUJ%$FR0lMxZceI`N#wQR0Rs!QD*Ebb3ap@-VB}HYD78*`lt3$Uj*~AAFmw8@#5;_f z+G=wYcvfCJ<-Ad##ZhT1&>e^+l+i>P**Cdv+>`D*w5W69W+isEm>*1}O1{e9(X{h% zvaDQf%BAHz&ARjDbUGZQSYO%J0*An>Gmh@fTJ0J45p|V0o8@IAmsZ!^kH6oMZQZl~ I12njL!U)k_|AuxxWOjSWhb(Ka^4Z2T+uM&~mnoCw` z4*l)(A}C4}6(qw&s#66dATDOlEZl8*<`K+)++O!De(nEueeuiB{i|OuFFT<(a$z>< z(2ko9{&v3@4gV7U_Sa7L>>m)l{PpL90*4_k``5RhTS(pBw0{yh4AshB8*_)P-CX?g zwg36k)u+!FxBuKPdVBrP!wdQ-blFbo@P$4}9=h5M!FG_XZMQXj*z#{T=TFhQTk?;^ ztk;VvyXA1v50lZzjbnf67WbVno%Zr_92SGgcvG+c`ReMs_=Q80ktWUa@7uV;$z6Y# zzNcY-zIYg>R)5fZhw?e4&z~#~SnBoaH!locxtSZC#_C|wU(N>OyMB%ko6OwZ>e|B4 z&F4EzP}`t&z6bI7;=Egg`~H0Je=94aH1cUyVuqU6P%TX_b565v7Q{-g8S!^F8?RHL z3{*d=ZsOjh*+KfHR&rZvys z`hULRb{Zc)u4AVSzFkMDA1?MzHLu8%?{cAWW-r%sKWjAZz zXkmJUg|;hRSawPl|Bbg-kGPc6*lXIH@gz*94{guGSJLNS-1S#_`x2tpyDd8T+^Ssh4D~BIe zdTqY(;tmz7SC$*Dc*kQ0?L9f-VVeJtev+d!>Y?K6yAQOIqO$)RU%F8W^_ z{*f=!^XE(B&^!PBWqN%rKFywIwI|G8ul~4A2Y4I&Pm|fmE#A?<<#9Fbc*A}SU!r5~Lpd-WO{QixWWUagxenl0KA{^eGqb_ucAhpJ&>wo(cE`E? zv&Ro}wB`7=-{|a6-ck3Ph0A}V)7C1qJM%^C#YyONpTRnxt}Z&)3455vA)R?QAB1lG z^Qd_(K6D=LY$*KYubuy{ggSq(g&s8)gHh_vC(9Y?-3zt5?Wdt)+QMwgWqK6@_-=UIsu zL@Azd!E;24;1orS`Xq#AN@^9UR!*@}JY%I4Bn#!7f1n}?!j*}f2g!(b%==P2n~00r zFcWQ5UJ=R_RoT#_oY2}Aub(HGI1iNIl#nJ1E{HbOy)?Hl|CDrOa1dMeCwuh?1t*c1ZBGQbB6uu6t+-rZ_a2 z-QNd``|gU|l{mjTUwT73d98@ukjPZev=xdZCz&+~yCby9JaSY_eGE3r7Q!Z4n_pvBo~w? zf2>`=iiK>wHpT`gnAB(wzHm<+_spR3+K2)kq_-qEj^GEf%PI0Qw4kIH-V@7$vsnrt z$&dq01SBK~T8IX^r4hg!+lqP^4aLUl`FElGPR&fG&zP7cLv3rAycp5?xGe zZ+n@H^Wd&;?x)j=bYedb##&(-_0XS7GL4WQ2xjGI`KvnR)QPghT#uA~pl zVwLpcBv#FP{gwDS0iLz5QeDT0-F zWVmn%bsnP*_aN+o;7uVKS`9h|S1xhNQ2{l2CIf-R=p2O3g=kqt#2kw#SQhlve^~4c z=U7kSxmB(VO~vR10u=)tx+|JS1T7Adga0Rn)>(#TP~thQD3`^c1Y*vzKyi!?w2qq) z3el9aiefSh5oC>6jMFxO{L5;*1sy0v(?|f2o=j3;ObfJbEE>}?c#Mst5Dk+NBi>sJ zP5@GYCX0C|#_TaNW}yqOG;*!0egQ9z=sg9V0n~On`R|js9Hz$#U)|}LPhChgHE=9aT6IiK zSw=9ENUaoFQpOO6*2XVS%8Ec(~Jub4vqp1wi+ykA|@TFM$dv3&*1goyF#F{pfp#TND`)x z>?4t2v8O{q4?sX56$H!CYb;;Fw39UVlIo-#revnQTs>;#!K)eTrMK5>@p>NlsS-b%Ee_sD zx=t7#ZwI5)S^Z?bdI`5i(-hZ3%{;kTxPOVT`fTO;&FcFrRCkxo_8x@Y;LEc)tfWP^ zI+xsgJvX&nwF&odVfEkq)KAvznlo22-CE{m^*6zf~IwZI|p k>Wrg%^QiWWyGC7Q&SrVp$feco?)CROvaNge|6)$&URd)2^8f$< diff --git a/docs/searchindex.js b/docs/searchindex.js index 21ad291..a9fd728 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "guide", "index", "quickstart", "xtrctl"], "filenames": ["api.rst", "guide.rst", "index.rst", "quickstart.rst", "xtrctl.rst"], "titles": ["XTR Logger API Reference", "XTR Logger User Guide", "Contents", "XTR Logger Quick-Start Guide", "xtrctl"], "terms": {"The": [0, 1, 3, 4], "follow": [0, 1, 3, 4], "without": [0, 1], "read": [0, 1, 3], "dai": 0, "point": 0, "instead": [0, 1], "i": [0, 1, 3, 4], "when": [0, 1, 3], "messag": [0, 2, 3, 4], "receiv": 0, "background": [0, 2, 3], "thread": [0, 2, 3], "us": [0, 1, 3, 4], "loss": 0, "accuraci": [0, 1], "accept": [0, 1, 3], "gain": 0, "perform": [0, 1], "xtr_log": [0, 1, 3], "specifi": [0, 1, 4], "format": [0, 2, 3], "string": [0, 2, 3], "argument": [0, 2, 3, 4], "given": [0, 1, 4], "block": [0, 1, 3], "full": [0, 1, 3], "ar": [0, 1, 3, 4], "thi": [0, 1, 3, 4], "undesir": [0, 1], "xtr_log_rtc": [0, 1, 3], "xtr_log_tsc": [0, 1, 3], "which": [0, 1, 3], "regardless": 0, "": [0, 1, 3, 4], "xtr_logl": [0, 1, 3], "variant": [0, 1], "If": [0, 1, 3, 4], "ha": [0, 1], "lower": [0, 1, 3], "import": [0, 1, 3], "than": [0, 1, 3], "drop": [0, 3, 4], "pleas": [0, 1, 4], "see": [0, 1, 3, 4], "section": [0, 1, 3, 4], "guid": [0, 2], "detail": [0, 2], "unqualifi": 0, "name": [0, 1, 4], "exampl": [0, 2], "simpli": [0, 1, 4], "info": [0, 1, 3, 4], "error": [0, 1, 3, 4], "fatal": [0, 3, 4], "pass": [0, 2, 3, 4], "written": [0, 1, 3], "xtr": [0, 1, 3, 4], "sync": [0, 1], "invok": [0, 1], "program": [0, 1, 3], "termin": [0, 1, 3], "via": [0, 1, 2, 3], "abort": [0, 1, 3], "3": [0, 1, 3, 4], "statement": 0, "debug": [0, 3, 4], "can": [0, 1, 4], "disabl": [0, 2], "build": [0, 1], "defin": [0, 1, 4], "xtr_ndebug": [0, 1], "xtr_try_log": [0, 3], "non": [0, 1], "discard": [0, 1, 3], "warn": [0, 1, 3, 4], "appear": 0, "xtr_try_logl": 0, "most": [0, 1], "accur": [0, 1, 3], "requir": 0, "On": 0, "some": 0, "system": [0, 1], "rdtsc": [0, 1], "mai": [0, 1, 3, 4], "slower": 0, "below": [0, 1], "along": [0, 1], "obtain": [0, 1], "cpu": 0, "instruct": [0, 1], "xtr_try_log_tsc": 0, "xtr_logl_tsc": 0, "xtr_try_logl_tsc": 0, "clock_gettim": [0, 1, 3], "sourc": [0, 2, 3, 4], "clock_realtime_coars": [0, 1, 3], "linux": [0, 1, 3], "clock_realtime_fast": [0, 1, 3], "freebsd": [0, 1, 3], "depend": [0, 1], "host": [0, 1], "faster": [0, 3], "xtr_try_log_rtc": 0, "xtr_logl_rtc": 0, "xtr_try_logl_rtc": 0, "xtr_log_t": [0, 1], "t": [0, 1], "ani": [0, 1], "type": [0, 1], "long": [0, 1], "formatt": [0, 2], "custom": [0, 2, 4], "timespec": [0, 1], "provid": [0, 1], "conveni": 0, "compat": [0, 1], "std": [0, 1, 3], "pre": 0, "A": 0, "isn": 0, "order": [0, 1], "avoid": [0, 3], "conflict": 0, "code": 0, "also": [0, 1, 3, 4], "appli": [0, 4], "xtr_logl_t": 0, "xtr_try_log_t": 0, "xtr_try_logl_t": 0, "class": [0, 1, 3], "main": [0, 1, 3], "construct": [0, 1, 4], "creat": [0, 2, 3], "o": [0, 1], "To": [0, 1, 3], "write": [0, 2, 3], "call": [0, 1, 3, 4], "get_sink": [0, 1, 3], "public": 0, "function": [0, 1], "templat": [0, 1], "typenam": [0, 1], "chrono": [0, 1], "system_clock": [0, 1], "inlin": 0, "explicit": 0, "const": [0, 1, 3], "char": [0, 1, 3], "command_path": 0, "default_command_path": [0, 4], "log_level_style_t": [0, 1], "level_styl": 0, "default_log_level_styl": 0, "constructor": [0, 1], "first": [0, 1, 3], "file": [0, 1, 3], "should": [0, 1, 3, 4], "open": [0, 1, 3], "append": 0, "mode": 0, "doe": [0, 1, 3], "exist": [0, 1, 4], "stdout": 0, "return": [0, 1], "current": [0, 1, 4], "produc": [0, 1], "where": [0, 1], "local": 0, "domain": 0, "socket": [0, 2], "commun": 0, "xtrctl": [0, 1, 2], "behaviour": [0, 1, 3], "xdg_runtime_dir": 0, "set": [0, 1, 3], "otherwis": 0, "run": [0, 1, 4], "uid": 0, "directori": 0, "inaccess": 0, "tmpdir": 0, "tmp": 0, "further": [0, 1, 3], "prevent": [0, 1], "from": [0, 1, 3, 4], "being": [0, 1, 4], "null_command_path": 0, "prefix": [0, 1], "each": [0, 1, 3], "document": [0, 1, 4], "stream": [0, 1], "stderr": [0, 1], "It": 0, "expect": [0, 1], "been": [0, 1], "reopen": [0, 1], "recommend": 0, "mean": [0, 1], "rotat": [0, 2, 4], "descript": [0, 2], "abov": [0, 1], "tool": [0, 1, 4], "support": [0, 1, 4], "reopen_path": 0, "associ": [0, 1], "request": 0, "null_reopen_path": 0, "filenam": 0, "storage_interface_ptr": [0, 1], "back": [0, 2], "end": [0, 2], "implement": [0, 1], "uniqu": [0, 1], "pointer": [0, 1], "an": [0, 1, 4], "object": [0, 1, 3], "storage_interfac": [0, 1], "method": [0, 1], "data": [0, 1], "whatev": [0, 1], "underli": 0, "medium": [0, 1], "disk": [0, 1], "network": [0, 1], "dot": 0, "matrix": 0, "printer": 0, "etc": [0, 1, 4], "destructor": [0, 1], "join": [0, 1], "consum": [0, 2], "still": [0, 1], "connect": 0, "until": [0, 1], "disconnect": [0, 1], "e": [0, 1, 3, 4], "all": [0, 1, 4], "native_handle_typ": 0, "consumer_thread_native_handl": [0, 1], "nativ": 0, "handl": [0, 1], "affin": 0, "other": [0, 1], "attribut": 0, "note": [0, 1], "new": [0, 1], "repeat": 0, "made": [0, 1], "same": [0, 1], "separ": [0, 3], "paramet": [0, 1], "void": [0, 1], "register_sink": [0, 1], "noexcept": [0, 1], "regist": [0, 1], "need": [0, 1], "must": [0, 1], "close": [0, 1, 3], "set_command_path": [0, 4], "set_log_level_styl": [0, 1], "set_default_log_level": [0, 1], "log_level_t": [0, 1, 3], "futur": 0, "how": [0, 4], "its": [0, 1], "own": [0, 1, 3], "queue": [0, 1], "send": [0, 4], "oper": [0, 1], "safe": [0, 1, 3], "except": [0, 2], "set_level": [0, 1, 3], "applic": [0, 1, 3], "have": [0, 1, 3], "mani": [0, 3], "per": [0, 1], "compon": [0, 1, 3], "copi": [0, 1, 3], "automat": 0, "modifi": [0, 4], "set_nam": [0, 1], "assign": 0, "destruct": [0, 1], "after": [0, 1, 4], "re": 0, "bool": 0, "is_open": 0, "true": 0, "fals": [0, 1], "onli": [0, 1], "synchron": 0, "previous": 0, "post": [0, 1], "entri": 0, "process": [0, 1], "buffer": [0, 1, 4], "flush": [0, 1], "For": [0, 4], "fsync": 0, "2": [0, 4], "avail": [0, 1, 3], "valu": [0, 2, 4], "auto": [0, 1], "tag": 0, "arg": [0, 1, 4], "xtr_nothrow_ingest": 0, "intend": [0, 1], "directli": 0, "one": [0, 1], "situat": 0, "size_t": [0, 1], "capac": [0, 4], "byte": 0, "overrid": 0, "xtr_sink_capac": 0, "config": 0, "hpp": [0, 1, 3], "so": [0, 1, 3], "becom": [0, 1], "includ": [0, 1, 3], "c": 0, "string_view": [0, 1], "In": [0, 1, 4], "thei": [0, 1], "wrap": [0, 1, 3], "enum": [0, 1], "indic": [0, 1], "sever": [0, 1], "enumer": [0, 1], "none": [0, 4], "howev": [0, 1], "log_level_from_str": 0, "str": [0, 1, 3], "convert": 0, "contain": [0, 2], "correspond": 0, "throw": 0, "invalid_argu": 0, "customis": [0, 1], "liter": [0, 1], "singl": [0, 1, 3], "two": [0, 1, 3], "systemd": [0, 2], "systemd_log_level_styl": [0, 1], "upper": 0, "case": 0, "charact": [0, 1], "repres": [0, 1], "space": [0, 4], "g": [0, 1, 4], "w": [0, 4], "describ": [0, 1], "sd": 0, "daemon": 0, "0": [0, 1, 4], "1": [0, 1, 3], "struct": [0, 1], "allow": [0, 1], "inherit": 0, "storage_interf": 0, "pure": 0, "virtual": [0, 1], "instanc": 0, "span": [0, 1], "allocate_buff": [0, 1], "alloc": [0, 1], "onc": [0, 1], "again": 0, "submit": [0, 1], "submit_buff": [0, 1], "buf": [0, 1], "size": [0, 1], "store": [0, 1], "ensur": [0, 1], "reach": [0, 1], "perman": [0, 1], "int": [0, 1], "regular": [0, 1, 4], "unique_ptr": [0, 1], "typedef": 0, "io_uring_fd_storag": 0, "fd_storage_bas": 0, "io_ur": 0, "7": [0, 1, 4], "fd": 0, "buffer_capac": 0, "default_buffer_capac": 0, "queue_siz": 0, "default_queue_s": 0, "batch_siz": 0, "default_batch_s": 0, "descriptor": 0, "duplic": 0, "dup": 0, "caller": 0, "immedi": [0, 3], "desir": 0, "submiss": 0, "number": [0, 1, 4], "collect": 0, "befor": 0, "xtr_io_uring_pol": 0, "effect": 0, "static": [0, 1], "constexpr": [0, 1], "64": 0, "1024": [0, 1], "32": 0, "posix_fd_storag": 0, "standard": 0, "posix": 0, "intern": 0, "make_fd_storag": 0, "kernel": 0, "libxtr": [0, 4], "wa": 0, "built": [0, 1], "machin": 0, "libur": 0, "header": 0, "xtr_use_io_ur": 0, "fp": 0, "either": [0, 1, 3, 4], "output": [0, 1], "pid": 0, "n": 0, "begin": [0, 1], "increas": [0, 1], "respect": 0, "overridden": 0, "individu": 0, "permit": 0, "round": 0, "up": 0, "actual": 0, "cxxflag": 0, "rebuild": 0, "enabl": [0, 1], "manual": 0, "detect": 0, "librari": [0, 3], "do": [0, 1], "check": 0, "attempt": 0, "poll": 0, "ioring_setup_sqpol": 0, "flag": [0, 1], "io_uring_setup": 0, "api": [1, 2, 4], "logger": [1, 2, 3, 4], "were": 1, "multipl": 1, "them": 1, "normal": 1, "anoth": 1, "renam": 1, "macro": [1, 2, 3], "creation": 1, "hello": [1, 3], "world": [1, 3], "view": 1, "compil": 1, "explor": 1, "s1": 1, "s2": 1, "fmt": [1, 3], "python": [1, 3], "found": [1, 4], "here": [1, 3], "123": 1, "456": 1, "1f": 1, "default": [1, 2, 3, 4], "done": 1, "nocopi": [1, 2, 3], "guarante": 1, "memori": 1, "assum": [1, 3], "anyth": [1, 3], "about": [1, 3], "content": 1, "incur": 1, "entir": 1, "even": 1, "occur": 1, "regard": 1, "respons": 1, "remain": 1, "valid": [1, 4], "enough": 1, "itself": 1, "just": 1, "addit": 1, "convent": 1, "logl": 1, "programmat": 1, "queri": 1, "command": [1, 2], "line": [1, 4], "list": 1, "least": 1, "foo": 1, "addition": 1, "No": 1, "becaus": 1, "overload": 1, "ostream": 1, "h": 1, "special": 1, "pars": 1, "namespac": 1, "parsecontext": 1, "ctx": 1, "formatcontext": 1, "format_to": 1, "out": 1, "iter": 1, "specif": 1, "meet": 1, "criteria": 1, "mapped_typ": 1, "member": 1, "like": 1, "tuple_s": 1, "choic": 1, "vari": 1, "option": [0, 1, 2], "low": 1, "high": 1, "particular": 1, "under": 1, "cours": 1, "fast": 1, "arbitrari": 1, "counter": 1, "tabl": 1, "cost": 1, "upon": 1, "microarchitectur": 1, "second": 1, "tv_sec": 1, "tv_nsec": 1, "As": 1, "spin": 1, "wait": 1, "input": 1, "cannot": 1, "would": 1, "wai": [1, 3], "signal": 1, "doesn": 1, "involv": 1, "effici": 1, "trade": 1, "off": 1, "cheaper": 1, "wast": 1, "orphan": 1, "make": 1, "easier": 1, "never": 1, "lose": 1, "unless": 1, "explicitli": 1, "bind": 1, "platform": 1, "pthread_setaffinity_np": 1, "cerrno": 1, "pthread": 1, "sched": 1, "cpu_set_t": 1, "cpu_zero": 1, "cpu_set": 1, "errnum": 1, "sizeof": 1, "errno": 1, "perror": 1, "escap": 1, "sequenc": 1, "unprint": 1, "secur": 1, "malici": 1, "could": 1, "take": [1, 3], "advantag": 1, "place": 1, "remov": 1, "interpret": [1, 4], "emul": 1, "sensibl": 1, "good": 1, "practic": 1, "err": 1, "side": 1, "caution": 1, "disclosur": 1, "mail": 1, "more": 1, "thorough": 1, "explan": [1, 4], "attack": 1, "interfac": [1, 2], "storag": [1, 2], "finish": 1, "previou": 1, "partial": 1, "smaller": 1, "logrot": [1, 4], "8": [1, 4], "zero": 1, "success": [1, 4], "failur": 1, "cstddef": 1, "discard_storag": 1, "make_uniqu": 1, "text": 1, "2021": 1, "09": 1, "17": 1, "23": 1, "36": 1, "39": 1, "043028": 1, "18": 1, "19": 1, "suitabl": 1, "advis": 1, "journalctl": 1, "filter": 1, "someth": 1, "2022": 1, "12": 1, "16": 1, "01": 1, "205253": 1, "xtrdemo": 1, "cpp": 1, "6": 1, "205259": 1, "13": 1, "4": 1, "14": 1, "15": 1, "quiet": 1, "hostnam": 1, "identifi": 1, "dec": 1, "1008402": 1, "appropri": 1, "enable_except": 1, "cmake": 1, "conan": [1, 2, 3], "caus": [1, 3], "fno": 1, "thrown": 1, "print": 1, "footnot": [1, 3], "ring": 1, "quick": 2, "start": 2, "instal": [2, 4], "overview": 2, "user": [2, 3, 4], "sink": [2, 3], "syntax": 2, "refer": [2, 3, 4], "log": [2, 3], "level": [2, 3], "safeti": 2, "tupl": 2, "pair": 2, "time": [2, 3], "sanit": 2, "style": [2, 3], "journal": 2, "path": 2, "null": 2, "configur": [2, 4], "variabl": 2, "synopsi": 2, "pattern": 2, "access": 2, "easiest": 3, "you": 3, "truli": 3, "impati": 3, "split": 3, "care": 3, "idea": 3, "variou": 3, "timestamp": 3, "tsc": 3, "clock": 3, "goodby": 3, "cruel": 3, "notreach": 3, "By": [3, 4], "dangl": 3, "lifetim": 3, "str1": 3, "str2": 3, "move": 3, "str3": 3, "event": 3, "less": 3, "site": 3, "prefer": 3, "inform": [3, 4], "help": 4, "displai": 4, "match": 4, "examplenam": 4, "64k": 4, "0k": 4, "integr": 4, "postrot": 4, "script": 4, "your": 4, "5": 4, "weekli": 4, "endscript": 4, "express": 4, "wildcard": 4, "select": 4, "basic": 4, "extend": 4, "regexp": 4, "regex": 4, "shell": 4, "glob": 4, "both": 4, "1000": 4, "7852": 4, "test0": 4, "test1": 4, "test2": 4, "test3": 4, "test4": 4, "test": 4, "add": 4, "virtualenv": 4, "gener": 4, "conanfil": 4, "txt": 4, "activ": 4, "sh": 4, "option_flag": 0}, "objects": {"": [[0, 0, 1, "c.XTR_IO_URING_POLL", "XTR_IO_URING_POLL"], [0, 0, 1, "c.XTR_LOG", "XTR_LOG"], [0, 0, 1, "c.XTR_LOGL", "XTR_LOGL"], [0, 0, 1, "c.XTR_LOGL_RTC", "XTR_LOGL_RTC"], [0, 0, 1, "c.XTR_LOGL_TS", "XTR_LOGL_TS"], [0, 0, 1, "c.XTR_LOGL_TSC", "XTR_LOGL_TSC"], [0, 0, 1, "c.XTR_LOG_RTC", "XTR_LOG_RTC"], [0, 0, 1, "c.XTR_LOG_TS", "XTR_LOG_TS"], [0, 0, 1, "c.XTR_LOG_TSC", "XTR_LOG_TSC"], [0, 0, 1, "c.XTR_SINK_CAPACITY", "XTR_SINK_CAPACITY"], [0, 0, 1, "c.XTR_TRY_LOG", "XTR_TRY_LOG"], [0, 0, 1, "c.XTR_TRY_LOGL", "XTR_TRY_LOGL"], [0, 0, 1, "c.XTR_TRY_LOGL_RTC", "XTR_TRY_LOGL_RTC"], [0, 0, 1, "c.XTR_TRY_LOGL_TS", "XTR_TRY_LOGL_TS"], [0, 0, 1, "c.XTR_TRY_LOGL_TSC", "XTR_TRY_LOGL_TSC"], [0, 0, 1, "c.XTR_TRY_LOG_RTC", "XTR_TRY_LOG_RTC"], [0, 0, 1, "c.XTR_TRY_LOG_TS", "XTR_TRY_LOG_TS"], [0, 0, 1, "c.XTR_TRY_LOG_TSC", "XTR_TRY_LOG_TSC"], [0, 0, 1, "c.XTR_USE_IO_URING", "XTR_USE_IO_URING"], [0, 1, 1, "_CPPv4N3xtr20default_command_pathEv", "xtr::default_command_path"], [0, 1, 1, "_CPPv4N3xtr23default_log_level_styleE11log_level_t", "xtr::default_log_level_style"], [0, 2, 1, "_CPPv4N3xtr23default_log_level_styleE11log_level_t", "xtr::default_log_level_style::level"], [0, 3, 1, "_CPPv4N3xtr19io_uring_fd_storageE", "xtr::io_uring_fd_storage"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage18default_batch_sizeE", "xtr::io_uring_fd_storage::default_batch_size"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage23default_buffer_capacityE", "xtr::io_uring_fd_storage::default_buffer_capacity"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage18default_queue_sizeE", "xtr::io_uring_fd_storage::default_queue_size"], [0, 1, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::batch_size"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::buffer_capacity"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::queue_size"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::reopen_path"], [0, 1, 1, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE", "xtr::log_level_from_string"], [0, 2, 1, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE", "xtr::log_level_from_string::str"], [0, 5, 1, "_CPPv4N3xtr17log_level_style_tE", "xtr::log_level_style_t"], [0, 6, 1, "_CPPv4N3xtr11log_level_tE", "xtr::log_level_t"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5debugE", "xtr::log_level_t::debug"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5errorE", "xtr::log_level_t::error"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5fatalE", "xtr::log_level_t::fatal"], [0, 7, 1, "_CPPv4N3xtr11log_level_t4infoE", "xtr::log_level_t::info"], [0, 7, 1, "_CPPv4N3xtr11log_level_t4noneE", "xtr::log_level_t::none"], [0, 7, 1, "_CPPv4N3xtr11log_level_t7warningE", "xtr::log_level_t::warning"], [0, 3, 1, "_CPPv4N3xtr6loggerE", "xtr::logger"], [0, 1, 1, "_CPPv4N3xtr6logger29consumer_thread_native_handleEv", "xtr::logger::consumer_thread_native_handle"], [0, 1, 1, "_CPPv4N3xtr6logger8get_sinkENSt6stringE", "xtr::logger::get_sink"], [0, 2, 1, "_CPPv4N3xtr6logger8get_sinkENSt6stringE", "xtr::logger::get_sink::name"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::Clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::options"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::options"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::options"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::options"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::reopen_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::storage"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::stream"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags", "xtr::logger::logger::stream"], [0, 1, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink"], [0, 2, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink::name"], [0, 2, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink::s"], [0, 1, 1, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE", "xtr::logger::set_command_path"], [0, 2, 1, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE", "xtr::logger::set_command_path::path"], [0, 1, 1, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t", "xtr::logger::set_default_log_level"], [0, 2, 1, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t", "xtr::logger::set_default_log_level::level"], [0, 1, 1, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t", "xtr::logger::set_log_level_style"], [0, 2, 1, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t", "xtr::logger::set_log_level_style::level_style"], [0, 1, 1, "_CPPv4N3xtr6loggerD0Ev", "xtr::logger::~logger"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEPKc", "xtr::make_fd_storage"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage::fp"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEPKc", "xtr::make_fd_storage::path"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage::reopen_path"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage::reopen_path"], [0, 1, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy"], [0, 8, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy::T"], [0, 2, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy::arg"], [0, 4, 1, "_CPPv4N3xtr17null_command_pathE", "xtr::null_command_path"], [0, 4, 1, "_CPPv4N3xtr16null_reopen_pathE", "xtr::null_reopen_path"], [0, 3, 1, "_CPPv4N3xtr16posix_fd_storageE", "xtr::posix_fd_storage"], [0, 4, 1, "_CPPv4N3xtr16posix_fd_storage23default_buffer_capacityE", "xtr::posix_fd_storage::default_buffer_capacity"], [0, 1, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::buffer_capacity"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::reopen_path"], [0, 3, 1, "_CPPv4N3xtr4sinkE", "xtr::sink"], [0, 1, 1, "_CPPv4NK3xtr4sink8capacityEv", "xtr::sink::capacity"], [0, 1, 1, "_CPPv4N3xtr4sink5closeEv", "xtr::sink::close"], [0, 1, 1, "_CPPv4NK3xtr4sink7is_openEv", "xtr::sink::is_open"], [0, 1, 1, "_CPPv4NK3xtr4sink5levelEv", "xtr::sink::level"], [0, 1, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Args"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Format"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Level"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Tags"], [0, 2, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::args"], [0, 1, 1, "_CPPv4N3xtr4sinkaSERK4sink", "xtr::sink::operator="], [0, 2, 1, "_CPPv4N3xtr4sinkaSERK4sink", "xtr::sink::operator=::other"], [0, 1, 1, "_CPPv4N3xtr4sink9set_levelE11log_level_t", "xtr::sink::set_level"], [0, 2, 1, "_CPPv4N3xtr4sink9set_levelE11log_level_t", "xtr::sink::set_level::level"], [0, 1, 1, "_CPPv4N3xtr4sink8set_nameENSt6stringE", "xtr::sink::set_name"], [0, 2, 1, "_CPPv4N3xtr4sink8set_nameENSt6stringE", "xtr::sink::set_name::name"], [0, 1, 1, "_CPPv4N3xtr4sink4sinkERK4sink", "xtr::sink::sink"], [0, 2, 1, "_CPPv4N3xtr4sink4sinkERK4sink", "xtr::sink::sink::other"], [0, 1, 1, "_CPPv4N3xtr4sink4syncEv", "xtr::sink::sync"], [0, 1, 1, "_CPPv4N3xtr4sinkD0Ev", "xtr::sink::~sink"], [0, 3, 1, "_CPPv4N3xtr17storage_interfaceE", "xtr::storage_interface"], [0, 1, 1, "_CPPv4N3xtr17storage_interface15allocate_bufferEv", "xtr::storage_interface::allocate_buffer"], [0, 1, 1, "_CPPv4N3xtr17storage_interface5flushEv", "xtr::storage_interface::flush"], [0, 1, 1, "_CPPv4N3xtr17storage_interface6reopenEv", "xtr::storage_interface::reopen"], [0, 1, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer"], [0, 2, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer::buf"], [0, 2, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer::size"], [0, 1, 1, "_CPPv4N3xtr17storage_interface4syncEv", "xtr::storage_interface::sync"], [0, 5, 1, "_CPPv4N3xtr21storage_interface_ptrE", "xtr::storage_interface_ptr"], [0, 1, 1, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t", "xtr::systemd_log_level_style"], [0, 2, 1, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t", "xtr::systemd_log_level_style::level"]]}, "objtypes": {"0": "c:macro", "1": "cpp:function", "2": "cpp:functionParam", "3": "cpp:class", "4": "cpp:member", "5": "cpp:type", "6": "cpp:enum", "7": "cpp:enumerator", "8": "cpp:templateParam"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "function", "C++ function"], "2": ["cpp", "functionParam", "C++ function parameter"], "3": ["cpp", "class", "C++ class"], "4": ["cpp", "member", "C++ member"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "enum", "C++ enum"], "7": ["cpp", "enumerator", "C++ enumerator"], "8": ["cpp", "templateParam", "C++ template parameter"]}, "titleterms": {"api": 0, "refer": [0, 1], "log": [0, 1, 4], "macro": 0, "basic": [0, 1], "time": [0, 1], "stamp": 0, "counter": 0, "timestamp": [0, 1], "real": [0, 1], "clock": [0, 1], "user": [0, 1], "suppli": [0, 1], "logger": 0, "sink": [0, 1, 4], "nocopi": 0, "level": [0, 1, 4], "style": [0, 1], "storag": 0, "interfac": 0, "default": 0, "command": [0, 4], "path": [0, 4], "null": 0, "configur": 0, "variabl": 0, "guid": [1, 3], "overview": [1, 3], "creat": 1, "write": 1, "exampl": [1, 3, 4], "format": 1, "string": 1, "syntax": 1, "pass": 1, "argument": 1, "valu": 1, "debug": 1, "statement": 1, "fatal": 1, "thread": 1, "safeti": 1, "custom": 1, "formatt": 1, "contain": 1, "tupl": 1, "pair": 1, "sourc": 1, "tsc": 1, "background": 1, "consum": 1, "detail": 1, "lifetim": 1, "cpu": 1, "affin": 1, "messag": 1, "sanit": 1, "rotat": 1, "back": 1, "end": 1, "systemd": 1, "journal": 1, "disabl": 1, "except": 1, "quick": 3, "start": 3, "instal": 3, "xtrctl": 4, "synopsi": 4, "descript": 4, "queri": 4, "statu": 4, "set": 4, "reopen": 4, "file": 4, "pattern": 4, "option": 4, "socket": 4, "access": 4, "via": 4, "conan": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "Log Macros": [[0, "log-macros"]], "Basic Macros": [[0, "basic-macros"]], "Time-Stamp Counter Timestamped Macros": [[0, "time-stamp-counter-timestamped-macros"]], "Real-Time Clock Timestamped Macros": [[0, "real-time-clock-timestamped-macros"]], "User-Supplied Timestamp Macros": [[0, "user-supplied-timestamp-macros"]], "Logger": [[0, "logger"]], "Sink": [[0, "sink"]], "Nocopy": [[0, "nocopy"]], "Log Levels": [[0, "log-levels"], [1, "log-levels"]], "Log Level Styles": [[0, "log-level-styles"]], "Storage Interfaces": [[0, "storage-interfaces"]], "Default Command Path": [[0, "default-command-path"]], "Null Command Path": [[0, "null-command-path"]], "Configuration Variables": [[0, "configuration-variables"]], "User Guide": [[1, "user-guide"]], "Overview": [[1, "overview"], [3, "overview"]], "Creating and Writing to Sinks": [[1, "creating-and-writing-to-sinks"]], "Examples": [[1, "examples"], [1, "id4"], [3, "examples"], [4, "examples"]], "Format String Syntax": [[1, "format-string-syntax"]], "Example": [[1, "example"], [1, "id2"], [1, "id6"], [1, "id7"], [1, "id8"], [1, "id10"], [1, "id11"]], "Passing Arguments by Value or Reference": [[1, "passing-arguments-by-value-or-reference"]], "String Arguments": [[1, "string-arguments"]], "Debug Log Statements": [[1, "debug-log-statements"]], "Fatal Log Statements": [[1, "fatal-log-statements"]], "Thread Safety": [[1, "thread-safety"]], "Custom Formatters": [[1, "custom-formatters"]], "Formatting Containers, Tuples and Pairs": [[1, "formatting-containers-tuples-and-pairs"]], "Time Sources": [[1, "time-sources"]], "Basic": [[1, "basic"]], "Real-time Clock": [[1, "real-time-clock"]], "TSC": [[1, "tsc"]], "User-Supplied Timestamp": [[1, "user-supplied-timestamp"]], "Background Consumer Thread Details": [[1, "background-consumer-thread-details"]], "Lifetime": [[1, "lifetime"]], "CPU Affinity": [[1, "cpu-affinity"]], "Log Message Sanitizing": [[1, "log-message-sanitizing"]], "Log Rotation": [[1, "log-rotation"]], "Custom Back-ends": [[1, "custom-back-ends"]], "Custom Log Level Styles": [[1, "custom-log-level-styles"]], "Logging to the Systemd Journal": [[1, "logging-to-the-systemd-journal"]], "Disabling Exceptions": [[1, "disabling-exceptions"]], "Quick-Start Guide": [[3, "quick-start-guide"]], "Installing": [[3, "installing"]], "xtrctl": [[4, "xtrctl"]], "Synopsis": [[4, "synopsis"]], "Description": [[4, "description"]], "Commands": [[4, "commands"]], "Querying Sink Status": [[4, "querying-sink-status"]], "Setting Log Levels": [[4, "setting-log-levels"]], "Reopening Log Files": [[4, "reopening-log-files"]], "Patterns": [[4, "patterns"]], "Options": [[4, "options"]], "Socket Paths": [[4, "socket-paths"]], "Accessing xtrctl via Conan": [[4, "accessing-xtrctl-via-conan"]]}, "indexentries": {"xtr_io_uring_poll (c macro)": [[0, "c.XTR_IO_URING_POLL"]], "xtr_log (c macro)": [[0, "c.XTR_LOG"]], "xtr_logl (c macro)": [[0, "c.XTR_LOGL"]], "xtr_logl_rtc (c macro)": [[0, "c.XTR_LOGL_RTC"]], "xtr_logl_ts (c macro)": [[0, "c.XTR_LOGL_TS"]], "xtr_logl_tsc (c macro)": [[0, "c.XTR_LOGL_TSC"]], "xtr_log_rtc (c macro)": [[0, "c.XTR_LOG_RTC"]], "xtr_log_ts (c macro)": [[0, "c.XTR_LOG_TS"]], "xtr_log_tsc (c macro)": [[0, "c.XTR_LOG_TSC"]], "xtr_sink_capacity (c macro)": [[0, "c.XTR_SINK_CAPACITY"]], "xtr_try_log (c macro)": [[0, "c.XTR_TRY_LOG"]], "xtr_try_logl (c macro)": [[0, "c.XTR_TRY_LOGL"]], "xtr_try_logl_rtc (c macro)": [[0, "c.XTR_TRY_LOGL_RTC"]], "xtr_try_logl_ts (c macro)": [[0, "c.XTR_TRY_LOGL_TS"]], "xtr_try_logl_tsc (c macro)": [[0, "c.XTR_TRY_LOGL_TSC"]], "xtr_try_log_rtc (c macro)": [[0, "c.XTR_TRY_LOG_RTC"]], "xtr_try_log_ts (c macro)": [[0, "c.XTR_TRY_LOG_TS"]], "xtr_try_log_tsc (c macro)": [[0, "c.XTR_TRY_LOG_TSC"]], "xtr_use_io_uring (c macro)": [[0, "c.XTR_USE_IO_URING"]], "consumer_thread_native_handle (c++ function)": [[0, "_CPPv4N3xtr6logger29consumer_thread_native_handleEv"]], "default_command_path (c++ function)": [[0, "_CPPv4N3xtr20default_command_pathEv"]], "default_log_level_style (c++ function)": [[0, "_CPPv4N3xtr23default_log_level_styleE11log_level_t"]], "get_sink (c++ function)": [[0, "_CPPv4N3xtr6logger8get_sinkENSt6stringE"]], "io_uring_fd_storage (c++ class)": [[0, "_CPPv4N3xtr19io_uring_fd_storageE"]], "io_uring_fd_storage::default_batch_size (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage18default_batch_sizeE"]], "io_uring_fd_storage::default_buffer_capacity (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage23default_buffer_capacityE"]], "io_uring_fd_storage::default_queue_size (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage18default_queue_sizeE"]], "io_uring_fd_storage::io_uring_fd_storage (c++ function)": [[0, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE"]], "log_level_from_string (c++ function)": [[0, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE"]], "log_level_style_t (c++ type)": [[0, "_CPPv4N3xtr17log_level_style_tE"]], "log_level_t (c++ enum)": [[0, "_CPPv4N3xtr11log_level_tE"]], "log_level_t::debug (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5debugE"]], "log_level_t::error (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5errorE"]], "log_level_t::fatal (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5fatalE"]], "log_level_t::info (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t4infoE"]], "log_level_t::none (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t4noneE"]], "log_level_t::warning (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t7warningE"]], "logger (c++ class)": [[0, "_CPPv4N3xtr6loggerE"]], "logger (c++ function)": [[0, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t12option_flags"], [0, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags"], [0, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t12option_flags"], [0, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t12option_flags"]], "make_fd_storage (c++ function)": [[0, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE"], [0, "_CPPv4N3xtr15make_fd_storageEPKc"], [0, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE"]], "nocopy (c++ function)": [[0, "_CPPv4I0EN3xtr6nocopyEDaRK1T"]], "null_command_path (c++ member)": [[0, "_CPPv4N3xtr17null_command_pathE"]], "null_reopen_path (c++ member)": [[0, "_CPPv4N3xtr16null_reopen_pathE"]], "posix_fd_storage (c++ class)": [[0, "_CPPv4N3xtr16posix_fd_storageE"]], "posix_fd_storage::default_buffer_capacity (c++ member)": [[0, "_CPPv4N3xtr16posix_fd_storage23default_buffer_capacityE"]], "posix_fd_storage::posix_fd_storage (c++ function)": [[0, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE"]], "register_sink (c++ function)": [[0, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE"]], "set_command_path (c++ function)": [[0, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE"]], "set_default_log_level (c++ function)": [[0, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t"]], "set_log_level_style (c++ function)": [[0, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t"]], "sink (c++ class)": [[0, "_CPPv4N3xtr4sinkE"]], "sink::capacity (c++ function)": [[0, "_CPPv4NK3xtr4sink8capacityEv"]], "sink::close (c++ function)": [[0, "_CPPv4N3xtr4sink5closeEv"]], "sink::is_open (c++ function)": [[0, "_CPPv4NK3xtr4sink7is_openEv"]], "sink::level (c++ function)": [[0, "_CPPv4NK3xtr4sink5levelEv"]], "sink::log (c++ function)": [[0, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args"]], "sink::operator= (c++ function)": [[0, "_CPPv4N3xtr4sinkaSERK4sink"]], "sink::set_level (c++ function)": [[0, "_CPPv4N3xtr4sink9set_levelE11log_level_t"]], "sink::set_name (c++ function)": [[0, "_CPPv4N3xtr4sink8set_nameENSt6stringE"]], "sink::sink (c++ function)": [[0, "_CPPv4N3xtr4sink4sinkERK4sink"]], "sink::sync (c++ function)": [[0, "_CPPv4N3xtr4sink4syncEv"]], "sink::~sink (c++ function)": [[0, "_CPPv4N3xtr4sinkD0Ev"]], "storage_interface (c++ struct)": [[0, "_CPPv4N3xtr17storage_interfaceE"]], "storage_interface::allocate_buffer (c++ function)": [[0, "_CPPv4N3xtr17storage_interface15allocate_bufferEv"]], "storage_interface::flush (c++ function)": [[0, "_CPPv4N3xtr17storage_interface5flushEv"]], "storage_interface::reopen (c++ function)": [[0, "_CPPv4N3xtr17storage_interface6reopenEv"]], "storage_interface::submit_buffer (c++ function)": [[0, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE"]], "storage_interface::sync (c++ function)": [[0, "_CPPv4N3xtr17storage_interface4syncEv"]], "storage_interface_ptr (c++ type)": [[0, "_CPPv4N3xtr21storage_interface_ptrE"]], "systemd_log_level_style (c++ function)": [[0, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t"]], "~logger (c++ function)": [[0, "_CPPv4N3xtr6loggerD0Ev"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api", "guide", "index", "quickstart", "xtrctl"], "filenames": ["api.rst", "guide.rst", "index.rst", "quickstart.rst", "xtrctl.rst"], "titles": ["XTR Logger API Reference", "XTR Logger User Guide", "Contents", "XTR Logger Quick-Start Guide", "xtrctl"], "terms": {"The": [0, 1, 3, 4], "follow": [0, 1, 3, 4], "without": [0, 1], "read": [0, 1, 3], "dai": 0, "point": 0, "instead": [0, 1], "i": [0, 1, 3, 4], "when": [0, 1, 3], "messag": [0, 2, 3, 4], "receiv": 0, "background": [0, 2, 3], "thread": [0, 2, 3], "us": [0, 1, 3, 4], "loss": 0, "accuraci": [0, 1], "accept": [0, 1, 3], "gain": 0, "perform": [0, 1], "xtr_log": [0, 1, 3], "specifi": [0, 1, 4], "format": [0, 2, 3], "string": [0, 2, 3], "argument": [0, 2, 3, 4], "given": [0, 1, 4], "block": [0, 1, 3], "full": [0, 1, 3], "ar": [0, 1, 3, 4], "thi": [0, 1, 3, 4], "undesir": [0, 1], "xtr_log_rtc": [0, 1, 3], "xtr_log_tsc": [0, 1, 3], "which": [0, 1, 3], "regardless": 0, "": [0, 1, 3, 4], "xtr_logl": [0, 1, 3], "variant": [0, 1], "If": [0, 1, 3, 4], "ha": [0, 1], "lower": [0, 1, 3], "import": [0, 1, 3], "than": [0, 1, 3], "drop": [0, 3, 4], "pleas": [0, 1, 4], "see": [0, 1, 3, 4], "section": [0, 1, 3, 4], "guid": [0, 2], "detail": [0, 2], "unqualifi": 0, "name": [0, 1, 4], "exampl": [0, 2], "simpli": [0, 1, 4], "info": [0, 1, 3, 4], "error": [0, 1, 3, 4], "fatal": [0, 3, 4], "pass": [0, 2, 3, 4], "written": [0, 1, 3], "xtr": [0, 1, 3, 4], "sync": [0, 1], "invok": [0, 1], "program": [0, 1, 3], "termin": [0, 1, 3], "via": [0, 1, 2, 3], "abort": [0, 1, 3], "3": [0, 1, 3, 4], "statement": 0, "debug": [0, 3, 4], "can": [0, 1, 4], "disabl": [0, 2], "build": [0, 1], "defin": [0, 1, 4], "xtr_ndebug": [0, 1], "xtr_try_log": [0, 3], "non": [0, 1], "discard": [0, 1, 3], "warn": [0, 1, 3, 4], "appear": 0, "xtr_try_logl": 0, "most": [0, 1], "accur": [0, 1, 3], "requir": 0, "On": 0, "some": 0, "system": [0, 1], "rdtsc": [0, 1], "mai": [0, 1, 3, 4], "slower": 0, "below": [0, 1], "along": [0, 1], "obtain": [0, 1], "cpu": 0, "instruct": [0, 1], "xtr_try_log_tsc": 0, "xtr_logl_tsc": 0, "xtr_try_logl_tsc": 0, "clock_gettim": [0, 1, 3], "sourc": [0, 2, 3, 4], "clock_realtime_coars": [0, 1, 3], "linux": [0, 1, 3], "clock_realtime_fast": [0, 1, 3], "freebsd": [0, 1, 3], "depend": [0, 1], "host": [0, 1], "faster": [0, 3], "xtr_try_log_rtc": 0, "xtr_logl_rtc": 0, "xtr_try_logl_rtc": 0, "xtr_log_t": [0, 1], "t": [0, 1], "ani": [0, 1], "type": [0, 1], "long": [0, 1], "formatt": [0, 2], "custom": [0, 2, 4], "timespec": [0, 1], "provid": [0, 1], "conveni": 0, "compat": [0, 1], "std": [0, 1, 3], "pre": 0, "A": 0, "isn": 0, "order": [0, 1], "avoid": [0, 3], "conflict": 0, "code": 0, "also": [0, 1, 3, 4], "appli": [0, 4], "xtr_logl_t": 0, "xtr_try_log_t": 0, "xtr_try_logl_t": 0, "class": [0, 1, 3], "main": [0, 1, 3], "construct": [0, 1, 4], "creat": [0, 2, 3], "o": [0, 1], "To": [0, 1, 3], "write": [0, 2, 3], "call": [0, 1, 3, 4], "get_sink": [0, 1, 3], "public": 0, "function": [0, 1], "templat": [0, 1], "typenam": [0, 1], "chrono": [0, 1], "system_clock": [0, 1], "inlin": 0, "explicit": 0, "const": [0, 1, 3], "char": [0, 1, 3], "command_path": 0, "default_command_path": [0, 4], "log_level_style_t": [0, 1], "level_styl": 0, "default_log_level_styl": 0, "constructor": [0, 1], "first": [0, 1, 3], "file": [0, 1, 3], "should": [0, 1, 3, 4], "open": [0, 1, 3], "append": 0, "mode": 0, "doe": [0, 1, 3], "exist": [0, 1, 4], "stdout": 0, "return": [0, 1], "current": [0, 1, 4], "produc": [0, 1], "where": [0, 1], "local": 0, "domain": 0, "socket": [0, 2], "commun": 0, "xtrctl": [0, 1, 2], "behaviour": [0, 1, 3], "xdg_runtime_dir": 0, "set": [0, 1, 3], "otherwis": 0, "run": [0, 1, 4], "uid": 0, "directori": 0, "inaccess": 0, "tmpdir": 0, "tmp": 0, "further": [0, 1, 3], "prevent": [0, 1], "from": [0, 1, 3, 4], "being": [0, 1, 4], "null_command_path": 0, "prefix": [0, 1], "each": [0, 1, 3], "document": [0, 1, 4], "stream": [0, 1], "stderr": [0, 1], "It": 0, "expect": [0, 1], "been": [0, 1], "reopen": [0, 1], "recommend": 0, "mean": [0, 1], "rotat": [0, 2, 4], "descript": [0, 2], "abov": [0, 1], "tool": [0, 1, 4], "support": [0, 1, 4], "reopen_path": 0, "associ": [0, 1], "request": 0, "null_reopen_path": 0, "filenam": 0, "storage_interface_ptr": [0, 1], "back": [0, 2], "end": [0, 2], "implement": [0, 1], "uniqu": [0, 1], "pointer": [0, 1], "an": [0, 1, 4], "object": [0, 1, 3], "storage_interfac": [0, 1], "method": [0, 1], "data": [0, 1], "whatev": [0, 1], "underli": 0, "medium": [0, 1], "disk": [0, 1], "network": [0, 1], "dot": 0, "matrix": 0, "printer": 0, "etc": [0, 1, 4], "destructor": [0, 1], "join": [0, 1], "consum": [0, 2], "still": [0, 1], "connect": 0, "until": [0, 1], "disconnect": [0, 1], "e": [0, 1, 3, 4], "all": [0, 1, 4], "native_handle_typ": 0, "consumer_thread_native_handl": [0, 1], "nativ": 0, "handl": [0, 1], "affin": 0, "other": [0, 1], "attribut": 0, "note": [0, 1], "new": [0, 1], "repeat": 0, "made": [0, 1], "same": [0, 1], "separ": [0, 3], "paramet": [0, 1], "void": [0, 1], "register_sink": [0, 1], "noexcept": [0, 1], "regist": [0, 1], "need": [0, 1], "must": [0, 1], "close": [0, 1, 3], "set_command_path": [0, 4], "set_log_level_styl": [0, 1], "set_default_log_level": [0, 1], "log_level_t": [0, 1, 3], "futur": 0, "how": [0, 4], "its": [0, 1], "own": [0, 1, 3], "queue": [0, 1], "send": [0, 4], "oper": [0, 1], "safe": [0, 1, 3], "except": [0, 2], "set_level": [0, 1, 3], "applic": [0, 1, 3], "have": [0, 1, 3], "mani": [0, 3], "per": [0, 1], "compon": [0, 1, 3], "copi": [0, 1, 3], "automat": 0, "modifi": [0, 4], "set_nam": [0, 1], "assign": 0, "destruct": [0, 1], "after": [0, 1, 4], "re": 0, "bool": 0, "is_open": 0, "true": 0, "fals": [0, 1], "onli": [0, 1], "synchron": 0, "previous": 0, "post": [0, 1], "entri": 0, "process": [0, 1], "buffer": [0, 1, 4], "flush": [0, 1], "For": [0, 4], "fsync": 0, "2": [0, 4], "avail": [0, 1, 3], "valu": [0, 2, 4], "auto": [0, 1], "tag": 0, "arg": [0, 1, 4], "xtr_nothrow_ingest": 0, "intend": [0, 1], "directli": 0, "one": [0, 1], "situat": 0, "size_t": [0, 1], "capac": [0, 4], "byte": 0, "overrid": 0, "xtr_sink_capac": 0, "config": 0, "hpp": [0, 1, 3], "so": [0, 1, 3], "becom": [0, 1], "includ": [0, 1, 3], "c": 0, "string_view": [0, 1], "In": [0, 1, 4], "thei": [0, 1], "wrap": [0, 1, 3], "enum": [0, 1], "indic": [0, 1], "sever": [0, 1], "enumer": [0, 1], "none": [0, 4], "howev": [0, 1], "log_level_from_str": 0, "str": [0, 1, 3], "convert": 0, "contain": [0, 2], "correspond": 0, "throw": 0, "invalid_argu": 0, "customis": [0, 1], "liter": [0, 1], "singl": [0, 1, 3], "two": [0, 1, 3], "systemd": [0, 2], "systemd_log_level_styl": [0, 1], "upper": 0, "case": 0, "charact": [0, 1], "repres": [0, 1], "space": [0, 4], "g": [0, 1, 4], "w": [0, 4], "describ": [0, 1], "sd": 0, "daemon": 0, "0": [0, 1, 4], "1": [0, 1, 3], "struct": [0, 1], "allow": [0, 1], "inherit": 0, "storage_interf": 0, "pure": 0, "virtual": [0, 1], "instanc": 0, "span": [0, 1], "allocate_buff": [0, 1], "alloc": [0, 1], "onc": [0, 1], "again": 0, "submit": [0, 1], "submit_buff": [0, 1], "buf": [0, 1], "size": [0, 1], "store": [0, 1], "ensur": [0, 1], "reach": [0, 1], "perman": [0, 1], "int": [0, 1], "regular": [0, 1, 4], "unique_ptr": [0, 1], "typedef": 0, "io_uring_fd_storag": 0, "fd_storage_bas": 0, "io_ur": 0, "7": [0, 1, 4], "fd": 0, "buffer_capac": 0, "default_buffer_capac": 0, "queue_siz": 0, "default_queue_s": 0, "batch_siz": 0, "default_batch_s": 0, "descriptor": 0, "duplic": 0, "dup": 0, "caller": 0, "immedi": [0, 3], "desir": 0, "submiss": 0, "number": [0, 1, 4], "collect": 0, "befor": 0, "xtr_io_uring_pol": 0, "effect": 0, "static": [0, 1], "constexpr": [0, 1], "64": 0, "1024": [0, 1], "32": 0, "posix_fd_storag": 0, "standard": 0, "posix": 0, "intern": 0, "make_fd_storag": 0, "kernel": 0, "libxtr": [0, 4], "wa": 0, "built": [0, 1], "machin": 0, "libur": 0, "header": 0, "xtr_use_io_ur": 0, "fp": 0, "either": [0, 1, 3, 4], "output": [0, 1], "pid": 0, "n": 0, "begin": [0, 1], "increas": [0, 1], "respect": 0, "overridden": 0, "individu": 0, "permit": 0, "round": 0, "up": 0, "actual": 0, "cxxflag": 0, "rebuild": 0, "enabl": [0, 1], "manual": 0, "detect": 0, "librari": [0, 3], "do": [0, 1], "check": 0, "attempt": 0, "poll": 0, "ioring_setup_sqpol": 0, "flag": [0, 1], "io_uring_setup": 0, "api": [1, 2, 4], "logger": [1, 2, 3, 4], "were": 1, "multipl": 1, "them": 1, "normal": 1, "anoth": 1, "renam": 1, "macro": [1, 2, 3], "creation": 1, "hello": [1, 3], "world": [1, 3], "view": 1, "compil": 1, "explor": 1, "s1": 1, "s2": 1, "fmt": [1, 3], "python": [1, 3], "found": [1, 4], "here": [1, 3], "123": 1, "456": 1, "1f": 1, "default": [1, 2, 3, 4], "done": 1, "nocopi": [1, 2, 3], "guarante": 1, "memori": 1, "assum": [1, 3], "anyth": [1, 3], "about": [1, 3], "content": 1, "incur": 1, "entir": 1, "even": 1, "occur": 1, "regard": 1, "respons": 1, "remain": 1, "valid": [1, 4], "enough": 1, "itself": 1, "just": 1, "addit": 1, "convent": 1, "logl": 1, "programmat": 1, "queri": 1, "command": [1, 2], "line": [1, 4], "list": 1, "least": 1, "foo": 1, "addition": 1, "No": 1, "becaus": 1, "overload": 1, "ostream": 1, "h": 1, "special": 1, "pars": 1, "namespac": 1, "parsecontext": 1, "ctx": 1, "formatcontext": 1, "format_to": 1, "out": 1, "iter": 1, "specif": 1, "meet": 1, "criteria": 1, "mapped_typ": 1, "member": 1, "like": 1, "tuple_s": 1, "choic": 1, "vari": 1, "option": [1, 2], "low": 1, "high": 1, "particular": 1, "under": 1, "cours": 1, "fast": 1, "arbitrari": 1, "counter": 1, "tabl": 1, "cost": 1, "upon": 1, "microarchitectur": 1, "second": 1, "tv_sec": 1, "tv_nsec": 1, "As": 1, "spin": 1, "wait": 1, "input": 1, "cannot": 1, "would": 1, "wai": [1, 3], "signal": 1, "doesn": 1, "involv": 1, "effici": 1, "trade": 1, "off": 1, "cheaper": 1, "wast": 1, "orphan": 1, "make": 1, "easier": 1, "never": 1, "lose": 1, "unless": 1, "explicitli": 1, "bind": 1, "platform": 1, "pthread_setaffinity_np": 1, "cerrno": 1, "pthread": 1, "sched": 1, "cpu_set_t": 1, "cpu_zero": 1, "cpu_set": 1, "errnum": 1, "sizeof": 1, "errno": 1, "perror": 1, "escap": 1, "sequenc": 1, "unprint": 1, "secur": 1, "malici": 1, "could": 1, "take": [1, 3], "advantag": 1, "place": 1, "remov": 1, "interpret": [1, 4], "emul": 1, "sensibl": 1, "good": 1, "practic": 1, "err": 1, "side": 1, "caution": 1, "disclosur": 1, "mail": 1, "more": 1, "thorough": 1, "explan": [1, 4], "attack": 1, "interfac": [1, 2], "storag": [1, 2], "finish": 1, "previou": 1, "partial": 1, "smaller": 1, "logrot": [1, 4], "8": [1, 4], "zero": 1, "success": [1, 4], "failur": 1, "cstddef": 1, "discard_storag": 1, "make_uniqu": 1, "text": 1, "2021": 1, "09": 1, "17": 1, "23": 1, "36": 1, "39": 1, "043028": 1, "18": 1, "19": 1, "suitabl": 1, "advis": 1, "journalctl": 1, "filter": 1, "someth": 1, "2022": 1, "12": 1, "16": 1, "01": 1, "205253": 1, "xtrdemo": 1, "cpp": 1, "6": 1, "205259": 1, "13": 1, "4": 1, "14": 1, "15": 1, "quiet": 1, "hostnam": 1, "identifi": 1, "dec": 1, "1008402": 1, "appropri": 1, "enable_except": 1, "cmake": 1, "conan": [1, 2, 3], "caus": [1, 3], "fno": 1, "thrown": 1, "print": 1, "footnot": [1, 3], "ring": 1, "quick": 2, "start": 2, "instal": [2, 4], "overview": 2, "user": [2, 3, 4], "sink": [2, 3], "syntax": 2, "refer": [2, 3, 4], "log": [2, 3], "level": [2, 3], "safeti": 2, "tupl": 2, "pair": 2, "time": [2, 3], "sanit": 2, "style": [2, 3], "journal": 2, "path": 2, "null": 2, "configur": [2, 4], "variabl": 2, "synopsi": 2, "pattern": 2, "access": 2, "easiest": 3, "you": 3, "truli": 3, "impati": 3, "split": 3, "care": 3, "idea": 3, "variou": 3, "timestamp": 3, "tsc": 3, "clock": 3, "goodby": 3, "cruel": 3, "notreach": 3, "By": [3, 4], "dangl": 3, "lifetim": 3, "str1": 3, "str2": 3, "move": 3, "str3": 3, "event": 3, "less": 3, "site": 3, "prefer": 3, "inform": [3, 4], "help": 4, "displai": 4, "match": 4, "examplenam": 4, "64k": 4, "0k": 4, "integr": 4, "postrot": 4, "script": 4, "your": 4, "5": 4, "weekli": 4, "endscript": 4, "express": 4, "wildcard": 4, "select": 4, "basic": 4, "extend": 4, "regexp": 4, "regex": 4, "shell": 4, "glob": 4, "both": 4, "1000": 4, "7852": 4, "test0": 4, "test1": 4, "test2": 4, "test3": 4, "test4": 4, "test": 4, "add": 4, "virtualenv": 4, "gener": 4, "conanfil": 4, "txt": 4, "activ": 4, "sh": 4, "option_flag": []}, "objects": {"": [[0, 0, 1, "c.XTR_IO_URING_POLL", "XTR_IO_URING_POLL"], [0, 0, 1, "c.XTR_LOG", "XTR_LOG"], [0, 0, 1, "c.XTR_LOGL", "XTR_LOGL"], [0, 0, 1, "c.XTR_LOGL_RTC", "XTR_LOGL_RTC"], [0, 0, 1, "c.XTR_LOGL_TS", "XTR_LOGL_TS"], [0, 0, 1, "c.XTR_LOGL_TSC", "XTR_LOGL_TSC"], [0, 0, 1, "c.XTR_LOG_RTC", "XTR_LOG_RTC"], [0, 0, 1, "c.XTR_LOG_TS", "XTR_LOG_TS"], [0, 0, 1, "c.XTR_LOG_TSC", "XTR_LOG_TSC"], [0, 0, 1, "c.XTR_SINK_CAPACITY", "XTR_SINK_CAPACITY"], [0, 0, 1, "c.XTR_TRY_LOG", "XTR_TRY_LOG"], [0, 0, 1, "c.XTR_TRY_LOGL", "XTR_TRY_LOGL"], [0, 0, 1, "c.XTR_TRY_LOGL_RTC", "XTR_TRY_LOGL_RTC"], [0, 0, 1, "c.XTR_TRY_LOGL_TS", "XTR_TRY_LOGL_TS"], [0, 0, 1, "c.XTR_TRY_LOGL_TSC", "XTR_TRY_LOGL_TSC"], [0, 0, 1, "c.XTR_TRY_LOG_RTC", "XTR_TRY_LOG_RTC"], [0, 0, 1, "c.XTR_TRY_LOG_TS", "XTR_TRY_LOG_TS"], [0, 0, 1, "c.XTR_TRY_LOG_TSC", "XTR_TRY_LOG_TSC"], [0, 0, 1, "c.XTR_USE_IO_URING", "XTR_USE_IO_URING"], [0, 1, 1, "_CPPv4N3xtr20default_command_pathEv", "xtr::default_command_path"], [0, 1, 1, "_CPPv4N3xtr23default_log_level_styleE11log_level_t", "xtr::default_log_level_style"], [0, 2, 1, "_CPPv4N3xtr23default_log_level_styleE11log_level_t", "xtr::default_log_level_style::level"], [0, 3, 1, "_CPPv4N3xtr19io_uring_fd_storageE", "xtr::io_uring_fd_storage"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage18default_batch_sizeE", "xtr::io_uring_fd_storage::default_batch_size"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage23default_buffer_capacityE", "xtr::io_uring_fd_storage::default_buffer_capacity"], [0, 4, 1, "_CPPv4N3xtr19io_uring_fd_storage18default_queue_sizeE", "xtr::io_uring_fd_storage::default_queue_size"], [0, 1, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::batch_size"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::buffer_capacity"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::queue_size"], [0, 2, 1, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE", "xtr::io_uring_fd_storage::io_uring_fd_storage::reopen_path"], [0, 1, 1, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE", "xtr::log_level_from_string"], [0, 2, 1, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE", "xtr::log_level_from_string::str"], [0, 5, 1, "_CPPv4N3xtr17log_level_style_tE", "xtr::log_level_style_t"], [0, 6, 1, "_CPPv4N3xtr11log_level_tE", "xtr::log_level_t"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5debugE", "xtr::log_level_t::debug"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5errorE", "xtr::log_level_t::error"], [0, 7, 1, "_CPPv4N3xtr11log_level_t5fatalE", "xtr::log_level_t::fatal"], [0, 7, 1, "_CPPv4N3xtr11log_level_t4infoE", "xtr::log_level_t::info"], [0, 7, 1, "_CPPv4N3xtr11log_level_t4noneE", "xtr::log_level_t::none"], [0, 7, 1, "_CPPv4N3xtr11log_level_t7warningE", "xtr::log_level_t::warning"], [0, 3, 1, "_CPPv4N3xtr6loggerE", "xtr::logger"], [0, 1, 1, "_CPPv4N3xtr6logger29consumer_thread_native_handleEv", "xtr::logger::consumer_thread_native_handle"], [0, 1, 1, "_CPPv4N3xtr6logger8get_sinkENSt6stringE", "xtr::logger::get_sink"], [0, 2, 1, "_CPPv4N3xtr6logger8get_sinkENSt6stringE", "xtr::logger::get_sink::name"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger"], [0, 1, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::Clock"], [0, 8, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::Clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::clock"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::command_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::level_style"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::reopen_path"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::storage"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::stream"], [0, 2, 1, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t", "xtr::logger::logger::stream"], [0, 1, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink"], [0, 2, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink::name"], [0, 2, 1, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE", "xtr::logger::register_sink::s"], [0, 1, 1, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE", "xtr::logger::set_command_path"], [0, 2, 1, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE", "xtr::logger::set_command_path::path"], [0, 1, 1, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t", "xtr::logger::set_default_log_level"], [0, 2, 1, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t", "xtr::logger::set_default_log_level::level"], [0, 1, 1, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t", "xtr::logger::set_log_level_style"], [0, 2, 1, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t", "xtr::logger::set_log_level_style::level_style"], [0, 1, 1, "_CPPv4N3xtr6loggerD0Ev", "xtr::logger::~logger"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEPKc", "xtr::make_fd_storage"], [0, 1, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage::fp"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEPKc", "xtr::make_fd_storage::path"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE", "xtr::make_fd_storage::reopen_path"], [0, 2, 1, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE", "xtr::make_fd_storage::reopen_path"], [0, 1, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy"], [0, 8, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy::T"], [0, 2, 1, "_CPPv4I0EN3xtr6nocopyEDaRK1T", "xtr::nocopy::arg"], [0, 4, 1, "_CPPv4N3xtr17null_command_pathE", "xtr::null_command_path"], [0, 4, 1, "_CPPv4N3xtr16null_reopen_pathE", "xtr::null_reopen_path"], [0, 3, 1, "_CPPv4N3xtr16posix_fd_storageE", "xtr::posix_fd_storage"], [0, 4, 1, "_CPPv4N3xtr16posix_fd_storage23default_buffer_capacityE", "xtr::posix_fd_storage::default_buffer_capacity"], [0, 1, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::buffer_capacity"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::fd"], [0, 2, 1, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE", "xtr::posix_fd_storage::posix_fd_storage::reopen_path"], [0, 3, 1, "_CPPv4N3xtr4sinkE", "xtr::sink"], [0, 1, 1, "_CPPv4NK3xtr4sink8capacityEv", "xtr::sink::capacity"], [0, 1, 1, "_CPPv4N3xtr4sink5closeEv", "xtr::sink::close"], [0, 1, 1, "_CPPv4NK3xtr4sink7is_openEv", "xtr::sink::is_open"], [0, 1, 1, "_CPPv4NK3xtr4sink5levelEv", "xtr::sink::level"], [0, 1, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Args"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Format"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Level"], [0, 8, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::Tags"], [0, 2, 1, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args", "xtr::sink::log::args"], [0, 1, 1, "_CPPv4N3xtr4sinkaSERK4sink", "xtr::sink::operator="], [0, 2, 1, "_CPPv4N3xtr4sinkaSERK4sink", "xtr::sink::operator=::other"], [0, 1, 1, "_CPPv4N3xtr4sink9set_levelE11log_level_t", "xtr::sink::set_level"], [0, 2, 1, "_CPPv4N3xtr4sink9set_levelE11log_level_t", "xtr::sink::set_level::level"], [0, 1, 1, "_CPPv4N3xtr4sink8set_nameENSt6stringE", "xtr::sink::set_name"], [0, 2, 1, "_CPPv4N3xtr4sink8set_nameENSt6stringE", "xtr::sink::set_name::name"], [0, 1, 1, "_CPPv4N3xtr4sink4sinkERK4sink", "xtr::sink::sink"], [0, 2, 1, "_CPPv4N3xtr4sink4sinkERK4sink", "xtr::sink::sink::other"], [0, 1, 1, "_CPPv4N3xtr4sink4syncEv", "xtr::sink::sync"], [0, 1, 1, "_CPPv4N3xtr4sinkD0Ev", "xtr::sink::~sink"], [0, 3, 1, "_CPPv4N3xtr17storage_interfaceE", "xtr::storage_interface"], [0, 1, 1, "_CPPv4N3xtr17storage_interface15allocate_bufferEv", "xtr::storage_interface::allocate_buffer"], [0, 1, 1, "_CPPv4N3xtr17storage_interface5flushEv", "xtr::storage_interface::flush"], [0, 1, 1, "_CPPv4N3xtr17storage_interface6reopenEv", "xtr::storage_interface::reopen"], [0, 1, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer"], [0, 2, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer::buf"], [0, 2, 1, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE", "xtr::storage_interface::submit_buffer::size"], [0, 1, 1, "_CPPv4N3xtr17storage_interface4syncEv", "xtr::storage_interface::sync"], [0, 5, 1, "_CPPv4N3xtr21storage_interface_ptrE", "xtr::storage_interface_ptr"], [0, 1, 1, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t", "xtr::systemd_log_level_style"], [0, 2, 1, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t", "xtr::systemd_log_level_style::level"]]}, "objtypes": {"0": "c:macro", "1": "cpp:function", "2": "cpp:functionParam", "3": "cpp:class", "4": "cpp:member", "5": "cpp:type", "6": "cpp:enum", "7": "cpp:enumerator", "8": "cpp:templateParam"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "function", "C++ function"], "2": ["cpp", "functionParam", "C++ function parameter"], "3": ["cpp", "class", "C++ class"], "4": ["cpp", "member", "C++ member"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "enum", "C++ enum"], "7": ["cpp", "enumerator", "C++ enumerator"], "8": ["cpp", "templateParam", "C++ template parameter"]}, "titleterms": {"api": 0, "refer": [0, 1], "log": [0, 1, 4], "macro": 0, "basic": [0, 1], "time": [0, 1], "stamp": 0, "counter": 0, "timestamp": [0, 1], "real": [0, 1], "clock": [0, 1], "user": [0, 1], "suppli": [0, 1], "logger": 0, "sink": [0, 1, 4], "nocopi": 0, "level": [0, 1, 4], "style": [0, 1], "storag": 0, "interfac": 0, "default": 0, "command": [0, 4], "path": [0, 4], "null": 0, "configur": 0, "variabl": 0, "guid": [1, 3], "overview": [1, 3], "creat": 1, "write": 1, "exampl": [1, 3, 4], "format": 1, "string": 1, "syntax": 1, "pass": 1, "argument": 1, "valu": 1, "debug": 1, "statement": 1, "fatal": 1, "thread": 1, "safeti": 1, "custom": 1, "formatt": 1, "contain": 1, "tupl": 1, "pair": 1, "sourc": 1, "tsc": 1, "background": 1, "consum": 1, "detail": 1, "lifetim": 1, "cpu": 1, "affin": 1, "messag": 1, "sanit": 1, "rotat": 1, "back": 1, "end": 1, "systemd": 1, "journal": 1, "disabl": 1, "except": 1, "quick": 3, "start": 3, "instal": 3, "xtrctl": 4, "synopsi": 4, "descript": 4, "queri": 4, "statu": 4, "set": 4, "reopen": 4, "file": 4, "pattern": 4, "option": 4, "socket": 4, "access": 4, "via": 4, "conan": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "Log Macros": [[0, "log-macros"]], "Basic Macros": [[0, "basic-macros"]], "Time-Stamp Counter Timestamped Macros": [[0, "time-stamp-counter-timestamped-macros"]], "Real-Time Clock Timestamped Macros": [[0, "real-time-clock-timestamped-macros"]], "User-Supplied Timestamp Macros": [[0, "user-supplied-timestamp-macros"]], "Logger": [[0, "logger"]], "Sink": [[0, "sink"]], "Nocopy": [[0, "nocopy"]], "Log Levels": [[0, "log-levels"], [1, "log-levels"]], "Log Level Styles": [[0, "log-level-styles"]], "Storage Interfaces": [[0, "storage-interfaces"]], "Default Command Path": [[0, "default-command-path"]], "Null Command Path": [[0, "null-command-path"]], "Configuration Variables": [[0, "configuration-variables"]], "User Guide": [[1, "user-guide"]], "Overview": [[1, "overview"], [3, "overview"]], "Creating and Writing to Sinks": [[1, "creating-and-writing-to-sinks"]], "Examples": [[1, "examples"], [1, "id4"], [3, "examples"], [4, "examples"]], "Format String Syntax": [[1, "format-string-syntax"]], "Example": [[1, "example"], [1, "id2"], [1, "id6"], [1, "id7"], [1, "id8"], [1, "id10"], [1, "id11"]], "Passing Arguments by Value or Reference": [[1, "passing-arguments-by-value-or-reference"]], "String Arguments": [[1, "string-arguments"]], "Debug Log Statements": [[1, "debug-log-statements"]], "Fatal Log Statements": [[1, "fatal-log-statements"]], "Thread Safety": [[1, "thread-safety"]], "Custom Formatters": [[1, "custom-formatters"]], "Formatting Containers, Tuples and Pairs": [[1, "formatting-containers-tuples-and-pairs"]], "Time Sources": [[1, "time-sources"]], "Basic": [[1, "basic"]], "Real-time Clock": [[1, "real-time-clock"]], "TSC": [[1, "tsc"]], "User-Supplied Timestamp": [[1, "user-supplied-timestamp"]], "Background Consumer Thread Details": [[1, "background-consumer-thread-details"]], "Lifetime": [[1, "lifetime"]], "CPU Affinity": [[1, "cpu-affinity"]], "Log Message Sanitizing": [[1, "log-message-sanitizing"]], "Log Rotation": [[1, "log-rotation"]], "Custom Back-ends": [[1, "custom-back-ends"]], "Custom Log Level Styles": [[1, "custom-log-level-styles"]], "Logging to the Systemd Journal": [[1, "logging-to-the-systemd-journal"]], "Disabling Exceptions": [[1, "disabling-exceptions"]], "Quick-Start Guide": [[3, "quick-start-guide"]], "Installing": [[3, "installing"]], "xtrctl": [[4, "xtrctl"]], "Synopsis": [[4, "synopsis"]], "Description": [[4, "description"]], "Commands": [[4, "commands"]], "Querying Sink Status": [[4, "querying-sink-status"]], "Setting Log Levels": [[4, "setting-log-levels"]], "Reopening Log Files": [[4, "reopening-log-files"]], "Patterns": [[4, "patterns"]], "Options": [[4, "options"]], "Socket Paths": [[4, "socket-paths"]], "Accessing xtrctl via Conan": [[4, "accessing-xtrctl-via-conan"]]}, "indexentries": {"xtr_io_uring_poll (c macro)": [[0, "c.XTR_IO_URING_POLL"]], "xtr_log (c macro)": [[0, "c.XTR_LOG"]], "xtr_logl (c macro)": [[0, "c.XTR_LOGL"]], "xtr_logl_rtc (c macro)": [[0, "c.XTR_LOGL_RTC"]], "xtr_logl_ts (c macro)": [[0, "c.XTR_LOGL_TS"]], "xtr_logl_tsc (c macro)": [[0, "c.XTR_LOGL_TSC"]], "xtr_log_rtc (c macro)": [[0, "c.XTR_LOG_RTC"]], "xtr_log_ts (c macro)": [[0, "c.XTR_LOG_TS"]], "xtr_log_tsc (c macro)": [[0, "c.XTR_LOG_TSC"]], "xtr_sink_capacity (c macro)": [[0, "c.XTR_SINK_CAPACITY"]], "xtr_try_log (c macro)": [[0, "c.XTR_TRY_LOG"]], "xtr_try_logl (c macro)": [[0, "c.XTR_TRY_LOGL"]], "xtr_try_logl_rtc (c macro)": [[0, "c.XTR_TRY_LOGL_RTC"]], "xtr_try_logl_ts (c macro)": [[0, "c.XTR_TRY_LOGL_TS"]], "xtr_try_logl_tsc (c macro)": [[0, "c.XTR_TRY_LOGL_TSC"]], "xtr_try_log_rtc (c macro)": [[0, "c.XTR_TRY_LOG_RTC"]], "xtr_try_log_ts (c macro)": [[0, "c.XTR_TRY_LOG_TS"]], "xtr_try_log_tsc (c macro)": [[0, "c.XTR_TRY_LOG_TSC"]], "xtr_use_io_uring (c macro)": [[0, "c.XTR_USE_IO_URING"]], "consumer_thread_native_handle (c++ function)": [[0, "_CPPv4N3xtr6logger29consumer_thread_native_handleEv"]], "default_command_path (c++ function)": [[0, "_CPPv4N3xtr20default_command_pathEv"]], "default_log_level_style (c++ function)": [[0, "_CPPv4N3xtr23default_log_level_styleE11log_level_t"]], "get_sink (c++ function)": [[0, "_CPPv4N3xtr6logger8get_sinkENSt6stringE"]], "io_uring_fd_storage (c++ class)": [[0, "_CPPv4N3xtr19io_uring_fd_storageE"]], "io_uring_fd_storage::default_batch_size (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage18default_batch_sizeE"]], "io_uring_fd_storage::default_buffer_capacity (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage23default_buffer_capacityE"]], "io_uring_fd_storage::default_queue_size (c++ member)": [[0, "_CPPv4N3xtr19io_uring_fd_storage18default_queue_sizeE"]], "io_uring_fd_storage::io_uring_fd_storage (c++ function)": [[0, "_CPPv4N3xtr19io_uring_fd_storage19io_uring_fd_storageEiNSt6stringENSt6size_tENSt6size_tENSt6size_tE"]], "log_level_from_string (c++ function)": [[0, "_CPPv4N3xtr21log_level_from_stringENSt11string_viewE"]], "log_level_style_t (c++ type)": [[0, "_CPPv4N3xtr17log_level_style_tE"]], "log_level_t (c++ enum)": [[0, "_CPPv4N3xtr11log_level_tE"]], "log_level_t::debug (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5debugE"]], "log_level_t::error (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5errorE"]], "log_level_t::fatal (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t5fatalE"]], "log_level_t::info (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t4infoE"]], "log_level_t::none (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t4noneE"]], "log_level_t::warning (c++ enumerator)": [[0, "_CPPv4N3xtr11log_level_t7warningE"]], "logger (c++ class)": [[0, "_CPPv4N3xtr6loggerE"]], "logger (c++ function)": [[0, "_CPPv4I0EN3xtr6logger6loggerE21storage_interface_ptrRR5ClockNSt6stringE17log_level_style_t"], [0, "_CPPv4I0EN3xtr6logger6loggerENSt6stringEP4FILERR5ClockNSt6stringE17log_level_style_t"], [0, "_CPPv4I0EN3xtr6logger6loggerEP4FILERR5ClockNSt6stringE17log_level_style_t"], [0, "_CPPv4I0EN3xtr6logger6loggerEPKcRR5ClockNSt6stringE17log_level_style_t"]], "make_fd_storage (c++ function)": [[0, "_CPPv4N3xtr15make_fd_storageEP4FILENSt6stringE"], [0, "_CPPv4N3xtr15make_fd_storageEPKc"], [0, "_CPPv4N3xtr15make_fd_storageEiNSt6stringE"]], "nocopy (c++ function)": [[0, "_CPPv4I0EN3xtr6nocopyEDaRK1T"]], "null_command_path (c++ member)": [[0, "_CPPv4N3xtr17null_command_pathE"]], "null_reopen_path (c++ member)": [[0, "_CPPv4N3xtr16null_reopen_pathE"]], "posix_fd_storage (c++ class)": [[0, "_CPPv4N3xtr16posix_fd_storageE"]], "posix_fd_storage::default_buffer_capacity (c++ member)": [[0, "_CPPv4N3xtr16posix_fd_storage23default_buffer_capacityE"]], "posix_fd_storage::posix_fd_storage (c++ function)": [[0, "_CPPv4N3xtr16posix_fd_storage16posix_fd_storageEiNSt6stringENSt6size_tE"]], "register_sink (c++ function)": [[0, "_CPPv4N3xtr6logger13register_sinkER4sinkNSt6stringE"]], "set_command_path (c++ function)": [[0, "_CPPv4N3xtr6logger16set_command_pathENSt6stringE"]], "set_default_log_level (c++ function)": [[0, "_CPPv4N3xtr6logger21set_default_log_levelE11log_level_t"]], "set_log_level_style (c++ function)": [[0, "_CPPv4N3xtr6logger19set_log_level_styleE17log_level_style_t"]], "sink (c++ class)": [[0, "_CPPv4N3xtr4sinkE"]], "sink::capacity (c++ function)": [[0, "_CPPv4NK3xtr4sink8capacityEv"]], "sink::close (c++ function)": [[0, "_CPPv4N3xtr4sink5closeEv"]], "sink::is_open (c++ function)": [[0, "_CPPv4NK3xtr4sink7is_openEv"]], "sink::level (c++ function)": [[0, "_CPPv4NK3xtr4sink5levelEv"]], "sink::log (c++ function)": [[0, "_CPPv4I_Da_Da0DpEN3xtr4sink3logEvDpRR4Args"]], "sink::operator= (c++ function)": [[0, "_CPPv4N3xtr4sinkaSERK4sink"]], "sink::set_level (c++ function)": [[0, "_CPPv4N3xtr4sink9set_levelE11log_level_t"]], "sink::set_name (c++ function)": [[0, "_CPPv4N3xtr4sink8set_nameENSt6stringE"]], "sink::sink (c++ function)": [[0, "_CPPv4N3xtr4sink4sinkERK4sink"]], "sink::sync (c++ function)": [[0, "_CPPv4N3xtr4sink4syncEv"]], "sink::~sink (c++ function)": [[0, "_CPPv4N3xtr4sinkD0Ev"]], "storage_interface (c++ struct)": [[0, "_CPPv4N3xtr17storage_interfaceE"]], "storage_interface::allocate_buffer (c++ function)": [[0, "_CPPv4N3xtr17storage_interface15allocate_bufferEv"]], "storage_interface::flush (c++ function)": [[0, "_CPPv4N3xtr17storage_interface5flushEv"]], "storage_interface::reopen (c++ function)": [[0, "_CPPv4N3xtr17storage_interface6reopenEv"]], "storage_interface::submit_buffer (c++ function)": [[0, "_CPPv4N3xtr17storage_interface13submit_bufferEPcNSt6size_tE"]], "storage_interface::sync (c++ function)": [[0, "_CPPv4N3xtr17storage_interface4syncEv"]], "storage_interface_ptr (c++ type)": [[0, "_CPPv4N3xtr21storage_interface_ptrE"]], "systemd_log_level_style (c++ function)": [[0, "_CPPv4N3xtr23systemd_log_level_styleE11log_level_t"]], "~logger (c++ function)": [[0, "_CPPv4N3xtr6loggerD0Ev"]]}}) \ No newline at end of file diff --git a/docs/xtrctl.html b/docs/xtrctl.html index 83bd3b2..9be5eaf 100644 --- a/docs/xtrctl.html +++ b/docs/xtrctl.html @@ -171,7 +171,7 @@

      Setting Log Levelsxtr::default_command_path() in the API reference or libxtr(3) for an explanation of how the default socket path is constructed. Custom command paths may be specified either by -passing an argument to xtr::logger::logger() or by calling +passing an argument to xtr::logger::logger() or by calling xtr::logger::set_command_path(), the documentation for both may also be found in the API reference or libxtr(3).