Learn about the Apache Log4j 2 logging implementation in Wowza Streaming Engine™ media server software.
Note: Apache Log4j 2 logging is available in Wowza Streaming Engine 4.8.8.01 and later. Earlier versions of Wowza Streaming Engine use Apache Log4J 1.x.
About Wowza Streaming Engine Logging
Wowza Streaming Engine uses the Apache Log4j 2 utility for logging. The Log4j 2 logging system provides ample functionality for log formatting, log rolling, and log retrieval for most applications. By default, Wowza Streaming Engine is configured to log basic information to the server console and detailed information in the W3C Extended Common Log Format (ECLF) to a log file. Java messaging is also captured in the log files to help monitor and aid troubleshooting.
The log files for Wowza Streaming Engine are written to the [install-dir]/logs folder, and the log files for Wowza Streaming Engine Manager are written to the [install-dir]/manager/logs folder. You can edit the default logging configuration in the [install-dir]/conf/log4j2-config.xml file.
Note: If you upgraded from Wowza Streaming Engine 4.8.5 or earlier and are developing custom logging, update the run configuration for Eclipse or IntelliJ to point to the logging configuration XML file:
-Dlog4j.configurationFile="$WMSCONFIG_HOME/conf/log4j2-config.xml"
Logging fields
Wowza Streaming Engine can generate the following logging fields using Log4j 2:
Field name | Description |
---|---|
c-client-id | Client ID number assigned by the server to the connection |
c-ip | Client connection IP address |
c-proto | Client connection protocol: http, rtmp, rtmpe, rtmps (HTTP-1.1), rtmpt (HTTP-1.1), rtmpte (HTTP-1.1) |
c-referrer | URL of the video that initiated the connection to the server |
c-user-agent | Version of the client that initiated the connection to the server |
cs-bytes | Total number of bytes transferred from client to server (cumulative) |
cs-stream-bytes | Total number of bytes transferred from client to server for stream x-stream-id (cumulative) |
cs-uri-query | Query parameter for stream x-stream-id |
cs-uri-stem | Full connection string for stream x-stream-id (excludes query parameters) |
date | Date of log event |
s-ip | IP address of the server that received this event |
s-port | Port number through which the server received this event |
s-uri | Full connection string on which the server received this event |
sc-bytes | Total number of bytes transferred from server to client (cumulative) |
sc-stream-bytes | Total number of bytes transferred from server to client for stream x-stream-id (cumulative) |
time | Time of log event |
tz | Time zone of log event |
x-app | Name of the application from which the event was generated |
x-app-context | Field used for per-application logging |
x-appinst | Name of the application instance from which the event was generated |
x-appinst-context | Field used for per-application instance logging |
x-category | Log event category (server, vhost, application, session, stream) |
x-class-fqcn | Fully qualified class name passed in when the logger is fetched |
x-class-name | Class name of class passed in when the logger is fetched |
x-class-packagename | The package name of the Java class that's generating the log item, which can be used to filter per-package |
x-comment | Extra comment about the log event |
x-ctx | Extra data about the context of the log event |
x-duration | Time, in seconds, that this event occurred within the lifetime of the x-category object |
x-event | Log event (see Logging events) |
x-file-ext | File extension of stream x-stream-id |
x-file-length | File length, in seconds, of stream x-stream-id |
x-file-name | Full file path of stream x-stream-id |
x-file-size | File size, in bytes, of stream x-stream-id |
x-forwarded-ip | The HTTP header value for httpForwardedProxyList |
x-severity | Log event severity (DEBUG, INFO, WARN, ERROR, FATAL) |
x-sname | Name of stream x-stream-id |
x-sname-query | Query parameters of stream x-stream-id |
x-spos | Position, in milliseconds, within the media stream |
x-status | Log event status (see Logging status values) |
x-stream-id | Stream ID number assigned by the server to the stream object |
x-suri | Full connection string for stream x-stream-id (includes query parameters) |
x-suri-query | Query parameter for connection string |
x-suri-stem | Full connection string for stream x-stream-id (excludes query parameters) |
x-vhost | Name of the virtual host from which the event was generated |
x-vhost-context | Field used for per-virtual host logging |
Logging events
Wowza Streaming Engine can generate the following logging events using Log4J 2:
Event name | Description |
---|---|
announce | RTSP Session Description Protocol (SDP) ANNOUNCE |
app-start | Application instance start |
app-stop | Application instance shutdown |
comment | Comment |
connect | Connection result |
connect-burst | Connection accepted in burst zone |
connect-pending | Connection pending approval by application and license manager |
create | Media or data stream created |
decoder-audio-start | Audio decoding has started for a transcoded stream |
decoder-audio-stop | Audio decoding has stopped for a transcoded stream |
decoder-video-start | Video decoding has started for a transcoded stream |
decoder-video-stop | Video decoding has stopped for a transcoded stream |
destroy | Media or data stream destroyed |
disconnect | Client (session) disconnected from server |
encoder-audio-start | Audio encoding has started for a transcoded stream |
encoder-audio-stop | Audio encoding has stopped for a transcoded stream |
encoder-video-start | Video encoding has started for a transcoded stream |
encoder-video-stop | Video encoding has stopped for a transcoded stream |
pause | Playback has paused |
play | Playback has started |
publish | Start stream publishing |
record | Start stream recording |
recordstop | Stop stream recording |
seek | Seek has occurred |
setbuffertime | Client call to NetStream.setBufferTime(secs) logged in milliseconds |
setstreamtype | Client call to netConnection.call("setStreamType", null, "[streamtype]") |
server-start | Server start |
server-stop | Server shutdown |
stop | Playback has stopped |
unpause | Playback has resumed from pause |
unpublish | Stop stream publishing |
vhost-start | Virtual host start |
vhost-stop | Virtual host shutdown |
Logging status values
Wowza Streaming Engine can generate the following logging status values using Log4J 2:
Status value | Description |
---|---|
100 | Pending or waiting (for approval) |
200 | Success |
302 | Rejected by application with redirect information |
400 | Bad request |
401 | Rejected by application |
413 | Rejected by license manager |
500 | Internal error |