LOGMINLEVEL: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
* 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:
                           ┌────────┬─────────────┐
                           ┌────────┬─────────────┐
                           │ Number │  Log level  │
                           │ '''Number''' │  '''Log level'''
                           ├────────┼─────────────┤
                           ├────────┼─────────────┤
                           │  1    │    Trace    │
                           │  1    │    Trace    │
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