Logging for Java SDK
This page explains how to configure logging in the PubNub Java Software Development Kit (SDK) using SLF4J and popular backends.
How to enable logging
Pubnub implements swappable logging using SLF4J, which allows you to switch different logging frameworks easily. All the logging calls using SLF4J API will be delegated to the underlying logging framework.
Set the config property called logVerbosity to PNLogVerbosity.BODY to enable network calls logging. For more info on configuration, check the API reference page.
Additional configuration options
For more detailed information about logging configuration options, including the logVerbosity parameter, refer to the Configuration document.
Implement logging using log4j
To implement logging using log4j you need to add the following references to the project. Using log4j you can log to console or a file or both.
log4j-slf4j2file which acts as a bridge betweenslf4jandlog4j.log4j-apifile, which provides the underlying logging framework.log4j-corefile.
To enable network calls logging, set the PubNub config property called logVerbosity to PNLogVerbosity.BODY and add the following entry to the log4j2.xml configuration file:
Implement logging using slf4j-simple
To implement logging using slf4j-simple you need to add the following references to the project:
slf4j-simple jarfile (for example, slf4j-simple-2.0.17.jar or the latest version) which provides the underlying logging framework.- Along with these references you need to add the
simplelogger.propertiesfile in theCLASSPATH.
Example of simplelogger.properties:
Example usage of slf4j-simple
Implement logging using logback
To implement logging using logback, you need to add the following references to the project:
- logback-classic and logback-core jar files which provide the underlying logging framework.
To enable network calls logging, set the PubNub config property called logVerbosity to PNLogVerbosity.BODY and add the following entry to the logback.xml configuration file: <logger name="pubnub.okhttp" level="DEBUG"/>.
See this example:
Example of the logback.xml logback configuration file:
Implement logging using java.util.logging
To implement logging using java.util.logging you need to add the following reference to the project:
slf4j-jdk14 jarfile which acts as a bridge betweenslf4jandjava.
JVM runtime provides the underlying logging framework.
Implement logging using commons-logging
To implement logging using commons-logging you need to add the following reference to the project:
slf4j-jcl jarfile (for example, slf4j-jcl-1.7.36.jar or the latest version) which acts as a bridge betweenslf4jand common-loggingcommon-logging.jarfile which acts as an abstraction layer.
The underlying logging framework is chosen dynamically by commons-logging.
No logging
To implement no logging, add a reference to slf4j-nop jar file (for example, slf4j-nop-1.7.5.jar or the latest version).