From 7ec85f079789b92115012a35bc1a6fc796aca895 Mon Sep 17 00:00:00 2001 From: veradec Date: Sun, 3 May 2026 20:57:59 +0530 Subject: [PATCH] feat: logging with functional overloading for different kind of logs --- main | Bin 16016 -> 16056 bytes main.c | 20 +++++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/main b/main index 31b6a4292164e34269994e7bb0186129c365bd15..66cbf971821b9202ee6d791b7b0bd1f9bb9a337f 100755 GIT binary patch delta 1863 zcmZ8ieP~-%6ueUc7BP<))E{;E2{Y7 zFizhVqAjwogka|O3-bzFLU;<noS}qpoBOa~zl_x~5Tfwb z;C9{$8SV4%k5;E&X9=;fsjh~9wLZNe$ZSHY@Ttr?D;M}HhKOF;`=yp^6zg+(qwM538@F-Oyildm?XM?3!vla?O|~_ zY_Ag5RTkz%_br?Vk`G~Tb@?Qgii6)>Lwd2KmAntj#H7FLv6dO_j$(ANoUrV;Cp+r@ zcXXnoIE>TFB->hdU4O+Ib%}l9@Cp11-C5x~jHtyY_opN!5y^c?iXc2hoJHJIkffW4 zH(=6wkY0yHt5F+4Z4kb*?x6`NSS?3hM(q@8$k7_ZWv*9W$xZ00aMA2S>H~a!M1Odj zKZO45<1KIM%<5WG*A^Q+YcAM0WT8>uZ816pDVv2ZK*koJBCOghLYuOe*{WhK2@lcd z0k7RcTcO|ng>Xt;>au`X!R(09d3eoXH_w*&T2R9g9m&CMhtaH7q6CsButSNNv_ZjP zrx9pz#_&Dv4AD5OIuF(BNWZc#4k#g8#T~p8?sgcD_v3)9#6(O%HJ^-bzkfcBFi%ls0wCXTYYPAhu#Xx*oz`$W-~kAoelEdL|QIEw#2#(Z7m3H-$g=I^o3DlCuvmDR7^ zL@ztp>S=BEhfV|4ginN=uzt8p7aJT%q!T1|HZ_z2uPb&CJsl)AI5a?Fu@^>0Vk7Cq zg)}*rNDUEoDh5O0V~_U6I&2*_SN2oa1V`7v>9Gq_8hH>ZF2H$YTiJHNreYl|dhEPM zVLh$1;I)^oB6Z&W24@#uG0Ln&A=MS4XJ8SzxV89M z5{Hd0H$Sgf^U&^d^QDUgQa-o7bm_EU1l|Jm*__WosRIh#c3xc;CTRD&d39>rAmtCx hHu%^d;6;c0p&S%YQO!;OY>nXTadS;a;H92@{{d5;j$!}+ delta 1751 zcmZ8iYfKzf6ux)%0b`)dfUvUy-Jzm}8urm;-CdR~OO-OT*e=F4OB%D%r^JY;kZ2-8 zQEWD3%`V5#keH~6No!&vW_{p42nlWDFO1gG_@g#4S))-%G=W4N&z-rm74Bx{oBMs= zIdkUTGqa21x$&GLCnaKxgb75-w_Fh;PIDH?ulvM+U`_%cQ=hm%&DjF<;w;Iv6kMd2 zGeZesS$O~csV7fWjbDg$)jRIKcvkuG_q$(y z9fwid(~z($v>$%5x#&KS?JnA4oL?}Q*Nt-xykuA49sA`dtJH=+HrSaGf%p;m^OLa$ zhD4^cbMEu}9Ik>u4#S|s6-dZP%{aX5dU|P8 z)bCVzCYf=CBl?F7f9N!PBQ?-}peXI#{}57SEO@VU|@b^TQ&`U0i~3**$TIu`}HpTIQyfxmLXLudYuojWr^*rDbb} zcg4Jl@~w#;v_0Y zjnAwUQq@;0Vba+)tEO6My)D*;r91Gr{)etVhq#59MBLoa^&DdTrmim_&O=sxwDAK} zAI2GZqRiORX1rt>Qpo$^d-Xv&0NbkPu`?L`2J?08k=_;_uXGBpRg_^jG$8dJ9?Pf) z|E~`-xp1s$s$$kw?zZ~K>Koj1WBB2hRu63k(VM0tFy!^nImmcBsUL25J#sm3q%!W- zU>h|BqCO9G!hr89>|Apw(Bx0k99;DK=p=mRcLf%V$FX$tp#)M<>Rd}Xf)|vyi3-~o zn}C);nre^<^w1Qn1zMrbUQO#@?SO0I0v4?jg-8i2*2DwIS7YX0{;urjatwJ1{pv3N zA?6n|P*WtBL7Lv zuo;vnI73lS-|?Pw@3F(jN&4K`!O=mIK0h=(L>SxGeX_d`j)v0kX{fGnGc+a8B^ZeK zl #include -void LOG_INFO(char *str) { printf("+ [INFO] %s\n", str); } +#define NARGS(...) NARGS_(__VA_ARGS__, 5, 4, 3, 2, 1, 0) +#define NARGS_(_5, _4, _3, _2, _1, N, ...) N -void LOG_LEVEL(char *str, char *level) { +#define LOGG(A, B) LOGG_(A, B) +#define LOGG_(A, B) A##B + +#define LOG(...) LOGG(LOG, NARGS(__VA_ARGS__))(__VA_ARGS__) + + +void LOG1(char *str) { printf("+ [INFO] %s\n", str); } + +void LOG2(char *str, char *level) { if (strcmp(level, "warn") == 0) { printf("! [WARN] %s\n", str); return; @@ -13,14 +22,15 @@ void LOG_LEVEL(char *str, char *level) { if (strcmp(level, "fatal") == 0) { printf("!! [FATAL] %s\n", str); + exit(1); } } int main() { - LOG_INFO("This is a Log"); - LOG_LEVEL("This is a Warning", "warn"); - /* LOG("HELLO"); */ + LOG("This is a Log"); + LOG("This is a Warning", "warn"); + LOG("HELLO", "fatal"); return 0; }