LOGMINLEVEL: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
{{PageParameters}}
{{PageParameters}}
* The return value {{Parameter|level&}} is a number from 1 to 5 indicating the current minimum level of logging enabled. The below table indicates the mapping:
* The return value {{Parameter|level&}} is a number from 1 to 5 indicating the current minimum level of logging enabled. The below table indicates the mapping:
{{FixedStart}}
                           ┌────────┬─────────────┐
                           ┌────────┬─────────────┐
                           │ Number │  Log level  │
                           │ Number │  Log level  │
Line 23: Line 22:
                           │  5    │    None    │
                           │  5    │    None    │
                           └────────┴─────────────┘
                           └────────┴─────────────┘
{{FixedEnd}}




Line 50: Line 48:
level& = {{Cl|_LOGMINLEVEL}}
level& = {{Cl|_LOGMINLEVEL}}


{{Cl|IF}} level& < 2 {{Cl|THEN}}
{{Cl|IF}} level& &lt; {{Text|2|#F580B1}} {{Cl|THEN}}
     ' Generate expensive log messages
     {{Text|<nowiki>' Generate expensive log messages</nowiki>|#919191}}
     _LOGTRACE expensiveLogMessage$
     {{Cl|_LOGTRACE}} expensiveLogMessage$
{{Cl|END IF}}
{{Cl|END IF}}
{{Cl|END}}
{{CodeEnd}}
{{CodeEnd}}



Revision as of 12:59, 7 December 2024

The _LOGMINLEVEL function returns the current minimum logging level that is being output.


Syntax

level& = _LOGMINLEVEL


Parameters

  • The return value level& is a number from 1 to 5 indicating the current minimum level of logging enabled. The below table indicates the mapping:
                          ┌────────┬─────────────┐
                          │ Number │  Log level  │
                          ├────────┼─────────────┤
                          │   1    │    Trace    │
                          ├────────┼─────────────┤
                          │   2    │ Information │
                          ├────────┼─────────────┤
                          │   3    │   Warning   │
                          ├────────┼─────────────┤
                          │   4    │    Error    │
                          ├────────┼─────────────┤
                          │   5    │    None     │
                          └────────┴─────────────┘


Description

  • The purpose of _LOGMINLEVEL is to allow programs to skip generating expensive logging if that logging would not be output anywhere.
  • For example, you may have a very large array of integers that you want to log fairly often - generating the strings of the log messages for that array can slow down your program even if those messages are ultimately never written anywhere. By checking _LOGMINLEVEL before generating those log messages you can avoid that expensive work if it would not be used but also still produce it when you request it.
  • If the function returns a 2, that indicates that only logging at the Information level and above is being captured somewhere. If the function returns a 5, that means no logging is being captured anywhere.


Availability


Examples

Example 1
Writes a log message at the information level
level& = _LOGMINLEVEL

IF level& < 2 THEN
    ' Generate expensive log messages
    _LOGTRACE expensiveLogMessage$
END IF

END


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link