# Logging

Introduction

Logging can be enabled in Qualcomm® Neural Processing SDK during the execution of a
network. It is highly recommended to enable logging once at the
beginning of the program to capture logs from all processes.
Enabling logging may have a performance impact. The following
sections demonstrate the logging support in Qualcomm® Neural Processing SDK:

1. [C Logging](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#c-logging)

    1. [C Log Levels](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#c-log-levels)
    2. [C Logging APIs](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#c-logging-apis)
2. [Java Logging](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#java-logging)

    1. [Java Log Levels](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#java-log-levels)
    2. [Java Logging APIs](https://docs.qualcomm.com/doc/80-63442-2/topic/user_logging.html#java-logging-apis)

C Logging

The section demonstrates the available Qualcomm® Neural Processing SDK log levels and
logging APIs for C. The following header needs to be included
to use the logging functionality.

#include "SNPE/SNPEUtil.h"
    Copy to clipboard

For a complete example, please refer to the sample application
file located at $SNPE\_ROOT/examples/SNPE/NativeCpp/SampleCode\_CAPI/ITensor/main.cpp .

C Log Levels

The following are the different log levels supported by Qualcomm® Neural Processing SDK
logging APIs in the increasing order of importance.

| Level | C Log Level |
| --- | --- |
| VERBOSE | SNPE\_LOG\_LEVEL\_VERBOSE |
| INFO | SNPE\_LOG\_LEVEL\_INFO |
| WARN | SNPE\_LOG\_LEVEL\_WARN |
| ERROR | SNPE\_LOG\_LEVEL\_ERROR |
| FATAL | SNPE\_LOG\_LEVEL\_FATAL |

When a specific log level is set, logs with that importance level and
higher importance levels will be logged.

C Logging APIs

Qualcomm® Neural Processing SDK provides different variants of logging initialization for Android
platforms and non-Android platforms. Please see
Snpe\_Util\_InitializeLogging()
for more information.

On Android platforms, the Qualcomm® Neural Processing SDK logs are printed to android logcat. Qualcomm® Neural Processing SDK
logging can be initialized with a specific log level by,

Snpe_Util_InitializeLogging(Snpe_LogLevel_t level);
    Copy to clipboard

On non-Android platforms, the Qualcomm® Neural Processing SDK logs are printed to console output
and into log files created in the specified log path. Qualcomm® Neural Processing SDK logging can
be initialized with a specific log level and a log path by,

Snpe_Util_InitializeLoggingPath(Snpe_LogLevel_t level, const char* logPath);
    Copy to clipboard

The Qualcomm® Neural Processing SDK logging level can be changed during execution to a specific log
level by,

Snpe_Util_SetLogLevel(Snpe_LogLevel_t level);
    Copy to clipboard

The Qualcomm® Neural Processing SDK logging can be terminated by,

Snpe_Util_TerminateLogging();
    Copy to clipboard

Java Logging

The section demonstrates the available Qualcomm® Neural Processing SDK log levels and logging APIs
for Java. The following packages needs to be imported to use the logging
functionality.

import com.qualcomm.qti.snpe.SNPE;
    import com.qualcomm.qti.snpe.NeuralNetwork;
    Copy to clipboard

For a complete example, please refer to the sample android application
files located at
$SNPE\_ROOT/examples/SNPE/android/image-classifiers/app/src/.

Java Log Levels

The following are the different log levels supported by Qualcomm® Neural Processing SDK logging
APIs in the increasing order of importance.

| Level | Java Log Level |
| --- | --- |
| VERBOSE | NeuralNetwork.LogLevel.LOG\_VERBOSE |
| INFO | NeuralNetwork.LogLevel.LOG\_INFO |
| WARN | NeuralNetwork.LogLevel.LOG\_WARN |
| ERROR | NeuralNetwork.LogLevel.LOG\_ERROR |
| FATAL | NeuralNetwork.LogLevel.LOG\_FATAL |

When a specific log level is set, logs with that importance level and
higher importance levels will be logged.

Java Logging APIs

On Android platforms, the Qualcomm® Neural Processing SDK logs are printed to android logcat. Qualcomm® Neural Processing SDK
logging can be initialized with a specific log level by,

SNPE.logger.initializeLogging(android.app.Application application, NeuralNetwork.LogLevel logLevel);
    Copy to clipboard

The Qualcomm® Neural Processing SDK logging level can be changed during execution to a specific log
level by,

SNPE.logger.setLogLevel(NeuralNetwork.LogLevel logLevel);
    Copy to clipboard

The Qualcomm® Neural Processing SDK logging can be terminated by,

SNPE.logger.terminateLogging();
    Copy to clipboard

Last Published: Oct 02, 2025

[Previous Topic
Burst Mode on DSP and AIP](https://docs.qualcomm.com/bundle/publicresource/80-63442-2/topics/prog_burst_mode.md) [Next Topic
CPU Fixed Point Mode](https://docs.qualcomm.com/bundle/publicresource/80-63442-2/topics/cpu_fxp_mode.md)