wLog - WinPR logging facility
wLog is a configurable and flexible logging system used throughout
WinPR and FreeRDP.
The primary concept is to have a hierarchy of loggers that can be
be configured independently.
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.
- 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.
- 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.
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 messages
- INFO
- general information
- WARN
- warnings
- ERROR
- errors
- FATAL
- fatal problems
- OFF
- completely disable the wlog output
The format a logger prints has the following possible options:
- lv
- log level
- mn
- module name
- fl
- file name
- fn
- function
- ln
- line number
- pid
- process id
- tid
- thread id
- yr
- year
- mo
- month
- dw
- day of week
- hr
- hour
- mi
- minute
- se
- second
- ml
- millisecond
A maximum of 16 options can be used per format string.
An example that generally sets the WLOG_PREFIX for xfreerdp would
look like: WLOG_PREFIX="pid=%pid:tid=%tid:fn=%fn -" xfreerdp
/v:xxx
- WLOG_APPENDER
- The kind of appender, the accepted values are: CONSOLE, FILE, BINARY,
SYSLOG, JOURNALD or UDP
- WLOG_PREFIX
- configure the prefix used for outputting the message (see Format for more
details and examples)
- WLOG_LEVEL
- the level to output messages for
- WLOG_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 path
- WLOG_FILEAPPENDER_OUTPUT_FILE_NAME
- When using the file appender it may contains the output log file's name
- WLOG_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 format host:port
Please report any bugs using the bug reporting form on the
FreeRDP web site
Additional information and the latest version is available at the
web site: http://www.freerdp.com
David Fort <contact@hardening-consulting.com> wrote this
manpage from materials written by Bernhard Miklautz
<bernhard.miklautz@thincast.com>.