*>In other words, my gut feeling says no to the idea of using any>different
code language. The logging facility should be written in>the C language,
too, not using more recent features than C99 so that>older compilers
support it.*

Got it!! Thanks for your suggestion... I will keep this in mind.




*>It's not a *requirement* to use an external logging library (in spite>of
the project's name), but there are good arguments to not re-invent>the
wheel. In particular, it can be expected that a well-maintained>external
library gets a lot of testing and comes with a mature API.*

Thanks, I agree with your point that an external library would be well
tested and mature. I thought in that direction as well but thought if
somehow I could get rid of integrating an external library.
Since quality is an important aspect, I will focus on the external library
part going forward.

As per my understanding FreeType's Logger consists of following basic
Macros for printing log messages:
1.FT_ERROR: for serious error messages.
2.FT_ASSERT: for checking assertions at runtime.
3.FT_TRACE: for general-purpose debugging messages with 8 levels of
debugging( 0 - 7 ). Different components in FreeType could have different
debug level. These levels are specified using FT2_DEBUG environment
variable.
Other logger features can be easily taken care( like they are today) if we
find a replacement for above basic Macro functions.

Going forward, I will explore logging libraries and will check if one or
more of them will meet the above requirements either by directly
integrating them or by adding a little bit of logic on top of them.
Please guide me if I am on the right track.

Thank You

On Tue, Feb 25, 2020 at 12:00 PM Werner LEMBERG <[email protected]> wrote:

>
> Hello Priyesh!
>
>
> Thanks for your interest in FreeType.
>
> >    [...] Therefore, I propose to implement separate code files for
> >    logging, which could be based on C++ and can be easily plugged
> >    into the existing C code base.  In addition to this, improving a
> >    bit on documentation can contribute to better understating of
> >    existing logger codebase.
>
> I'm not sure I like this.
>
> Debugging is at the very heart of FreeType.  Assume that you have to
> identify a bug, and you work in an environment for an exotic platform
> that only provides an (old) C compiler.  Your suggestion implies that
> you no longer can activate debugging output at all on such a platform!
>
> In other words, my gut feeling says no to the idea of using any
> different code language.  The logging facility should be written in
> the C language, too, not using more recent features than C99 so that
> older compilers support it.
>
> > Based on above points, all these changes could be done without
> > embedding an external library.  Having said that, if it is really a
> > requirement to replace the current logging facility with an external
> > one, there is an external C based logging library named "Zlog"
> > already been discussed on mailing list here
> > <
> https://lists.nongnu.org/archive/html/freetype-devel/2019-01/msg00023.html
> >.
> > I can work on it and explore other available external library
> > option.
>
> It's not a *requirement* to use an external logging library (inspite
> of the project's name), but there are good arguments to not re-invent
> the wheel.  In particular, it can be expected that a well-maintained
> external library gets a lot of testing and comes with a mature API.
>
>
>     Werner
>
>
> PS: The current use of the debugging macros are documented in
>     `doc/DEBUG`.
>

Reply via email to