diff --git a/.travis.yml b/.travis.yml
index 508b081..f223e8c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,8 @@
 env:
   global:
     - JOB_NAME=limited-build
+    - NDN_LOG=*=DEBUG
+    - BOOST_TEST_COLOR_OUTPUT=true
 matrix:
   include:
     - os: linux
diff --git a/README.md b/README.md
index 31c4a67..5628e70 100644
--- a/README.md
+++ b/README.md
@@ -14,8 +14,8 @@
 complete and up-to-date knowledge of the dataset changes, applications can decide whether
 or when to fetch which pieces of the data.
 
-ChronoSync uses [ndn-cxx](https://github.com/named-data/ndn-cxx) library as NDN
-  development library.
+ChronoSync uses [ndn-cxx](https://github.com/named-data/ndn-cxx) library as NDN development
+library.
 
 ChronoSync is an open source project licensed under GPL 3.0 (see `COPYING.md` for more
 detail).  We highly welcome all contributions to the ChronoSync code base, provided that
diff --git a/log4cxx.properties b/log4cxx.properties
deleted file mode 100644
index 0659753..0000000
--- a/log4cxx.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# Set root logger level to DEBUG and its only appender to A1.
-log4j.rootLogger=ERROR, A1
-
-# A1 is set to be a ConsoleAppender.
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.target=System.err
-#log4j.appender.A1.layout.ConversionPattern=%d{dd-MMM HH:MM:SS,SSS} %p %c %m%n
-#log4j.appender.A1.layout.ConversionPattern=%d{hh:mm:ss,SSS} %-14t %-14c  %m%n
-log4j.appender.A1.layout.ConversionPattern=%d{ss,SSS}  %-12c  %m%n
-
-log4j.logger.SyncLogic = TRACE
-log4j.logger.SyncSocket = TRACE
-log4j.logger.SyncValidator = DEBUG
-#log4j.logger.SyncInterestTable = TRACE
-#log4j.logger.AppDataFetch = TRACE
-log4j.logger.Test = TRACE
-#log4j.logger.bgpparser=TRACE
-#log4j.logger.bgpparser.AttributeType=ERROR
-#log4j.logger.bgpparser.MRTCommonHeader=ERROR
-
diff --git a/src/logger.hpp b/src/logger.hpp
index 7e46ea5..78e3040 100644
--- a/src/logger.hpp
+++ b/src/logger.hpp
@@ -24,53 +24,17 @@
 #ifndef CHRONOSYNC_LOGGER_HPP
 #define CHRONOSYNC_LOGGER_HPP
 
-#ifdef HAVE_LOG4CXX
+#include <ndn-cxx/util/logger.hpp>
 
-#include <log4cxx/logger.h>
+#define INIT_LOGGER(name) NDN_LOG_INIT(sync.name)
 
-#define INIT_LOGGER(name) \
-  static log4cxx::LoggerPtr staticModuleLogger = log4cxx::Logger::getLogger(name)
+#define _LOG_ERROR(x) NDN_LOG_ERROR(x)
+#define _LOG_WARN(x)  NDN_LOG_WARN(x)
+#define _LOG_INFO(x)  NDN_LOG_INFO(x)
+#define _LOG_DEBUG(x) NDN_LOG_DEBUG(x)
+#define _LOG_TRACE(x) NDN_LOG_TRACE(x)
 
-#define _LOG_DEBUG(x) \
-  LOG4CXX_DEBUG(staticModuleLogger, x)
-
-#define _LOG_TRACE(x) \
-  LOG4CXX_TRACE(staticModuleLogger, x)
-
-#define _LOG_FUNCTION(x) \
-  LOG4CXX_TRACE(staticModuleLogger, __FUNCTION__ << "(" << x << ")")
-
-#define _LOG_FUNCTION_NOARGS \
-  LOG4CXX_TRACE(staticModuleLogger, __FUNCTION__ << "()")
-
-#define _LOG_ERROR(x) \
-  LOG4CXX_ERROR(staticModuleLogger, x)
-
-#else // HAVE_LOG4CXX
-
-#define INIT_LOGGER(name)    struct chronosync__allow_trailing_semicolon
-#define _LOG_FUNCTION(x)     struct chronosync__allow_trailing_semicolon
-#define _LOG_FUNCTION_NOARGS struct chronosync__allow_trailing_semicolon
-#define _LOG_TRACE(x)        struct chronosync__allow_trailing_semicolon
-#define INIT_LOGGERS(x)      struct chronosync__allow_trailing_semicolon
-#define _LOG_ERROR(x)        struct chronosync__allow_trailing_semicolon
-
-#ifdef _DEBUG
-
-#include <thread>
-#include <iostream>
-#include <ndn-cxx/util/time.hpp>
-
-#define _LOG_DEBUG(x) \
-  std::clog << ndn::time::system_clock::now() << " " << std::this_thread::get_id() << \
-               " " << x << std::endl
-
-#else // _DEBUG
-
-#define _LOG_DEBUG(x) struct chronosync__allow_trailing_semicolon
-
-#endif // _DEBUG
-
-#endif // HAVE_LOG4CXX
+#define _LOG_FUNCTION(x)     NDN_LOG_TRACE(__FUNCTION__ << "(" << x << ")")
+#define _LOG_FUNCTION_NOARGS NDN_LOG_TRACE(__FUNCTION__ << "()")
 
 #endif // CHRONOSYNC_LOGGER_HPP
diff --git a/src/logic.cpp b/src/logic.cpp
index 25f2abb..e67aef4 100644
--- a/src/logic.cpp
+++ b/src/logic.cpp
@@ -25,7 +25,7 @@
 #include "logic.hpp"
 #include "logger.hpp"
 
-INIT_LOGGER("Logic");
+INIT_LOGGER(Logic);
 
 #ifdef _DEBUG
 #define _LOG_DEBUG_ID(v) _LOG_DEBUG("Instance" << m_instanceId << ": " << v)
diff --git a/src/socket.cpp b/src/socket.cpp
index 71ff606..4d46d7f 100644
--- a/src/socket.cpp
+++ b/src/socket.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
 /*
- * Copyright (c) 2012-2016 University of California, Los Angeles
+ * Copyright (c) 2012-2017 University of California, Los Angeles
  *
  * This file is part of ChronoSync, synchronization library for distributed realtime
  * applications for NDN.
@@ -25,7 +25,7 @@
 #include "socket.hpp"
 #include "logger.hpp"
 
-INIT_LOGGER("Socket");
+INIT_LOGGER(Socket);
 
 
 namespace chronosync {
diff --git a/tests/wscript b/tests/wscript
index b157a32..bacd16b 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -17,7 +17,7 @@
         target="../unit-tests",
         source=bld.path.ant_glob(['unit-tests/**/*.cpp']),
         features=['cxx', 'cxxprogram'],
-        use='ChronoSync tests-main LOG4CXX',
+        use='ChronoSync tests-main',
         includes=['.'],
         install_path=None,
         )
diff --git a/wscript b/wscript
index 8a484b0..e3e3b1e 100644
--- a/wscript
+++ b/wscript
@@ -16,8 +16,6 @@
 
     syncopt.add_option('--debug', action='store_true', default=False, dest='debug',
                        help='''debugging mode''')
-    syncopt.add_option('--with-log4cxx', action='store_true', default=False, dest='log4cxx',
-                       help='''Compile with log4cxx''')
     syncopt.add_option('--with-tests', action='store_true', default=False, dest='_tests',
                        help='''build unit tests''')
 
@@ -29,17 +27,13 @@
     conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
                    uselib_store='NDN_CXX', mandatory=True)
 
-    boost_libs = 'system iostreams'
+    boost_libs = 'system iostreams thread log log_setup'
     if conf.options._tests:
         conf.env['CHRONOSYNC_HAVE_TESTS'] = 1
         conf.define('CHRONOSYNC_HAVE_TESTS', 1);
         boost_libs += ' unit_test_framework'
 
-    conf.check_boost(lib=boost_libs)
-
-    if conf.options.log4cxx:
-        conf.check_cfg(package='liblog4cxx', args=['--cflags', '--libs'], uselib_store='LOG4CXX',
-                       mandatory=True)
+    conf.check_boost(lib=boost_libs, mt=True)
 
     # If there happens to be a static library, waf will put the corresponding -L flags
     # before dynamic library flags.  This can result in compilation failure when the
@@ -55,7 +49,7 @@
         cnum = VERSION,
         features=['cxx', 'cxxshlib'],
         source =  bld.path.ant_glob(['src/**/*.cpp', 'src/**/*.proto']),
-        use = 'BOOST NDN_CXX LOG4CXX',
+        use = 'BOOST NDN_CXX',
         includes = ['src', '.'],
         export_includes=['src', '.'],
         )
