Skip to content

ujachLogMgr

Juan Antonio Castillo edited this page Feb 27, 2022 · 3 revisions

unit ujachLogMgr

TjachLog class

This unit contains the logger class: TjachLog and you better include this unit in the uses clause of any unit where you invoke any of the Log methods.

This is needed for the compiler to correctly expand the inlined routines.

This unit declares various of its routines as inline to avoid the call cost that usually occurs between the different flavors of each one (this allows to keep the implementation of the class simple and consistent).

If you don't include the unit, the compilation process will generate Hints like the following ones:

[dcc32 Hint] Unit3.pas(34): H2443 Inline function 'TjachLog.LogInfo' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(35): H2443 Inline function 'TjachLog.LogDebug' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(36): H2443 Inline function 'TjachLog.LogInfo' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(40): H2443 Inline function 'TjachLog.LogNotice' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(41): H2443 Inline function 'TjachLog.LogWarning' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(42): H2443 Inline function 'TjachLog.LogError' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(43): H2443 Inline function 'TjachLog.LogCritical' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(45): H2443 Inline function 'TjachLog.LogAlert' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(47): H2443 Inline function 'TjachLog.LogEmergency' has not been expanded because unit 'ujachLogMgr' is not specified in USES list
[dcc32 Hint] Unit3.pas(49): H2443 Inline function 'TjachLog.LogInfo' has not been expanded because unit 'ujachLogMgr' is not specified in USES list

In that case, the program will work as expected, but a log method routine may call other log method to perform its work.

If you're like me and want a clean compilation, just add a uses ujachLogMgr to the offending unit.

Other classes declared in the unit