LOGMINLEVEL: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 40: Line 40:
File:Osx.png|'''yes'''
File:Osx.png|'''yes'''
</gallery>
</gallery>
<!-- Additional availability notes go below the gallery, e.g. -->
<!-- Additional availability notes go below here -->




Line 46: Line 46:
; Example 1 : Writes a log message at the information level
; Example 1 : Writes a log message at the information level
{{CodeStart}}
{{CodeStart}}
level& = {{Cl|_LOGMINLEVEL}}
level&amp; = {{Cl|_LOGMINLEVEL}}


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

Latest revision as of 12:11, 8 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:
                          ┌────────┬─────────────┐
                          │ NumberLog 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