Skip to content

Log Messages

radj307 edited this page Nov 11, 2023 · 10 revisions

Volume Control uses logging to help assist with debugging and provide information about any errors that occur.
All log messages have an event type, which specifies the general importance and/or purpose of a message.
The event type is also used for filtering messages to improve readability and prevent unnecessary write operations.

When including your log file in an issue report, you should enable all event types in the log filter so that all messages are visible.

Enabling all Log Messages

There are two ways to change the log filter:

  1. Through the application.
    In the main window, click Settings → Event Logging → Filter and check all of the boxes.

  2. Manually editing VolumeControl.json.
    If you used the installer, press Win+R to open the run dialog and enter the following path:
        %LocalAppData%/radj307/VolumeControl/VolumeControl.json
    If you use the portable version, the config file is in the same directory as VolumeControl.exe.

    To enable all filter levels, find the LogFilter line near the bottom and change it to "ALL":

    "LogFilter": "ALL",

    Make sure the application is closed, then save your changes. Otherwise they'll be overwritten.

⚠️ Posting your Log on GitHub

If you don't want your Windows username to be visible, use the find & replace tool in your text editor to replace all occurrences of it with <USERNAME> prior to posting.

Please enclose the log contents in a code-block to preserve readability & allow copy/pasting!
You can create a code-block with triple backticks like this:
```
<-- Log contents go here
```
You can tell if it worked by checking the Preview prior to posting.

Why aren't all log messages shown all the time?

In short: performance & readability.

The DEBUG & TRACE event types cause a large number of write operations and aren't generally useful outside of diagnosing an issue or debugging, so they start disabled.

Event Type Reference (6.6.0)

The EventType enum is a bitfield that is a combination of any of the following values except 0 (NONE) and 127 (ALL):

Event Type Value
DEBUG 1
INFO 2
WARN 4
ERROR 8
CRITICAL 16
FATAL 32
TRACE 64

Additionally, there are 2 special event types that cannot be combined:

Event Type Value Reason
NONE 0 Is the absence of all other values.
ALL 127 Is all of the other values combined.