diff --git a/main_nl.cpp b/main_nl.cpp
index 227c6a6..d5a501f 100644
--- a/main_nl.cpp
+++ b/main_nl.cpp
@@ -8,6 +8,7 @@
 #include <attn/attn_main.hpp>
 #include <buildinfo.hpp>
 #include <cli.hpp>
+#include <util/pdbg_callback.hpp>
 
 /**
  * @brief Attention handler application main()
@@ -37,6 +38,9 @@
     }
     else
     {
+        // set PDBG log callback function.
+        pdbg_set_logfunc(util::pdbg_log_callback);
+
         // Pdbg targets should only be initialized once according to
         // libpdbg documentation. Initializing them here will make sure
         // they are initialized for the attention handler, invocation of
diff --git a/util/pdbg_callback.hpp b/util/pdbg_callback.hpp
new file mode 100644
index 0000000..78b1ed9
--- /dev/null
+++ b/util/pdbg_callback.hpp
@@ -0,0 +1,52 @@
+#pragma once
+
+#include <inttypes.h>
+#include <stdio.h>
+
+#include <phosphor-logging/log.hpp>
+
+#include <cstdarg>
+
+namespace util
+{
+
+/*
+ * @brief callback function for logging with log level
+ *
+ * @param loglevel  PDBG log level
+ * @param format    format of output function, same as in printf()
+ * @param args      variable list
+ *
+ * @return none
+ */
+inline void pdbg_log_callback(const int loglevel, const char* format,
+                              va_list args)
+{
+    constexpr size_t MSG_MAX_LEN = 256;
+    char msg[MSG_MAX_LEN];
+    vsnprintf(msg, MSG_MAX_LEN, format, args);
+
+    switch (loglevel)
+    {
+        case PDBG_ERROR:
+            phosphor::logging::log<phosphor::logging::level::ERR>(msg);
+            break;
+        case PDBG_WARNING:
+            phosphor::logging::log<phosphor::logging::level::WARNING>(msg);
+            break;
+        case PDBG_NOTICE:
+            phosphor::logging::log<phosphor::logging::level::NOTICE>(msg);
+            break;
+        case PDBG_INFO:
+            phosphor::logging::log<phosphor::logging::level::INFO>(msg);
+            break;
+        case PDBG_DEBUG:
+            phosphor::logging::log<phosphor::logging::level::DEBUG>(msg);
+            break;
+        default:
+            phosphor::logging::log<phosphor::logging::level::ERR>(msg);
+            break;
+    }
+}
+
+} // namespace util
