wLog(7)
๐ wLog(7) โ the WinPR logging facility, explained by your fave ๐
okay bestie, sit down, hydrate, and let me tell you about wLog, which is section 7 of the manual, and honestly? it's the logging system that carries the whole WinPR and FreeRDP situation on its back. no cap.
โจ DESCRIPTION โจ
wLog is a configurable and flexible logging system used throughout WinPR and FreeRDP. like, everywhere. it's giving infrastructure.
The primary concept is to have a hierarchy of loggers that can be be configured independently. that's it. that's the whole vibe. each logger in the hierarchy does its own thing, and you can configure them separately. ๐ฆ
๐ Appenders ๐
WLog uses different appenders that define where the log output should be written to. If the application doesn't explicitly configure the appenders, the below described variable WLOG_APPENDER can be used to choose one appender.
The following kind of appenders are available:
- Binary โ Write the log data into a binary format file. mysterious. encrypted-ish. slay.
- Console โ The console appender writes to the console. Depending of the operating system the application runs on, the output might be handled differently. For example on android log print would be used.
- File โ The file appender writes the textual output to a file. old reliable fr fr.
- Udp โ This appender sends the logging messages to a pre-defined remote host via UDP.
If no target is set the default one 127.0.0.1:20000 is used. To receive the log messages one can use netcat. To receive the default target the following command can be used:
nc -u 127.0.0.1 -p 20000 -l
- Syslog โ Use syslog for outputting the debug messages.
- Journald โ This appender outputs messages to journald. systemd girlies rise ๐
๐ Levels ๐
The WLog are complementary, the higher level always includes the lower ones. The level list below is top down. Top the highest level.
TRACEโ print everything including packets dumps ๐DEBUGโ debug messagesINFOโ general informationWARNโ warningsERRORโ errorsFATALโ fatal problems ๐OFFโ completely disable the wlog output (the silence era)
๐ธ Formats ๐ธ
The format a logger prints has the following possible options:
lvโ log levelmnโ module nameflโ file namefnโ functionlnโ line numberpidโ process idtidโ thread idyrโ yearmoโ monthdwโ day of weekhrโ hourmiโ minuteseโ secondmlโ millisecond
A maximum of 16 options can be used per format string. sixteen. that's the limit, bestie, don't push it. ๐
An example that generally sets the WLOG_PREFIX for xfreerdp would look like:
WLOG_PREFIX="pid=%pid:tid=%tid:fn=%fn -" xfreerdp /v:xxx
๐ง ENVIRONMENT ๐ง
WLOG_APPENDERโ The kind of appender, the accepted values are:CONSOLE,FILE,BINARY,SYSLOG,JOURNALDorUDPWLOG_PREFIXโ configure the prefix used for outputting the message (see Format for more details and examples)WLOG_LEVELโ the level to output messages forWLOG_FILTERโ sets a filter for WLog messages. Only the filtered messages are printed. The format of the filter is a series of<logger name>:<level>separated by comas
example: WLOG_FILTER=core.channel:DEBUG,dummy:TRACE will display debug messages for the core.channel logger and trace level for the dummy logger
WLOG_FILEAPPENDER_OUTPUT_FILE_PATHโ When using the file appender it may contains the output log file's pathWLOG_FILEAPPENDER_OUTPUT_FILE_NAMEโ When using the file appender it may contains the output log file's nameWLOG_JOURNALD_IDโ When using the systemd journal appender, this variable contains the id used with the journal (by default the executable's name)WLOG_UDP_TARGETโ target to use for the UDP appender in the formathost:port
๐ BUGS ๐
Please report any bugs using the bug reporting form on the FreeRDP web site. not me being a bug reporter, but like, if you find one, tell them. ๐ซถ
๐ฅ SEE ALSO ๐ฅ
Additional information and the latest version is available at the web site: http://www.freerdp.com
๐ AUTHOR ๐
David Fort <contact@hardening-consulting.com> wrote this manpage from materials written by Bernhard Miklautz <bernhard.miklautz@thincast.com>. iconic collaboration, honestly. ๐
and that's the whole thing, bestie! this one's version 2.0, from way back in June 2016, and it's literally still out here logging the world. mwah. ๐โจ
๐ฆ where this page comes from
- alpine 3.24: freerdp-doc 3.32.2-r0 ยท Apache-2.0
- debian trixie: libwinpr3-3 3.15.0+dfsg-2.1+deb13u3 ยท Apache-2.0
- ubuntu noble: libwinpr3-3 3.32.1+dfsg-0ubuntu0.24.04.1 ยท Apache-2.0
- ubuntu noble: libwinpr3-3 3.5.0+dfsg1-0ubuntu1 ยท Apache-2.0
- ubuntu questing: libwinpr3-3 3.16.0+dfsg-2
- ubuntu questing: libwinpr3-3 3.16.0+dfsg-2ubuntu0.5
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms