diff --git a/phosphor-rsyslog-config/Makefile.am b/phosphor-rsyslog-config/Makefile.am
index 806e30b..438a745 100644
--- a/phosphor-rsyslog-config/Makefile.am
+++ b/phosphor-rsyslog-config/Makefile.am
@@ -15,7 +15,8 @@
 
 phosphor_rsyslog_conf_LDFLAGS = \
 	$(SDBUSPLUS_LIBS) \
-	$(PHOSPHOR_DBUS_INTERFACES_LIBS)
+	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
+	-lstdc++fs
 
 phosphor_rsyslog_conf_CXXFLAGS = \
 	$(SDBUSPLUS_CFLAGS) \
diff --git a/phosphor-rsyslog-config/server-conf.cpp b/phosphor-rsyslog-config/server-conf.cpp
index 836e83b..e8da82e 100644
--- a/phosphor-rsyslog-config/server-conf.cpp
+++ b/phosphor-rsyslog-config/server-conf.cpp
@@ -15,6 +15,19 @@
 
 #include <string>
 
+#if __has_include(<filesystem>)
+#include <filesystem>
+#elif __has_include(<experimental/filesystem>)
+#include <experimental/filesystem>
+namespace std
+{
+// splice experimental::filesystem into std
+namespace filesystem = std::experimental::filesystem;
+} // namespace std
+#else
+#error filesystem not available
+#endif
+
 namespace phosphor
 {
 namespace rsyslog_config
@@ -23,6 +36,7 @@
 namespace utils = phosphor::rsyslog_utils;
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
+namespace fs = std::filesystem;
 
 std::string Server::address(std::string value)
 {
@@ -103,8 +117,7 @@
     }
     else // this is a disable request
     {
-        // write '#*.* @@remote-host:port'
-        stream << "#*.* @@remote-host:port";
+        fs::remove(filePath);
     }
 
     restart();
@@ -130,6 +143,11 @@
 
 void Server::restore(const char* filePath)
 {
+    if (!fs::exists(filePath))
+    {
+        return;
+    }
+
     std::fstream stream(filePath, std::fstream::in);
     std::string line;
 
diff --git a/test/remote_logging_test_config.cpp b/test/remote_logging_test_config.cpp
index a4c6207..b34a43f 100644
--- a/test/remote_logging_test_config.cpp
+++ b/test/remote_logging_test_config.cpp
@@ -3,6 +3,19 @@
 #include <fstream>
 #include <string>
 
+#if __has_include(<filesystem>)
+#include <filesystem>
+#elif __has_include(<experimental/filesystem>)
+#include <experimental/filesystem>
+namespace std
+{
+// splice experimental::filesystem into std
+namespace filesystem = std::experimental::filesystem;
+} // namespace std
+#else
+#error filesystem not available
+#endif
+
 namespace phosphor
 {
 namespace logging
@@ -21,13 +34,13 @@
 TEST_F(TestRemoteLogging, testOnlyAddress)
 {
     config->address("1.1.1.1");
-    EXPECT_EQ(getConfig(configFilePath.c_str()), "#*.* @@remote-host:port");
+    EXPECT_EQ(fs::exists(configFilePath.c_str()), false);
 }
 
 TEST_F(TestRemoteLogging, testOnlyPort)
 {
     config->port(100);
-    EXPECT_EQ(getConfig(configFilePath.c_str()), "#*.* @@remote-host:port");
+    EXPECT_EQ(fs::exists(configFilePath.c_str()), false);
 }
 
 TEST_F(TestRemoteLogging, testGoodConfig)
@@ -43,7 +56,7 @@
     config->port(100);
     EXPECT_EQ(getConfig(configFilePath.c_str()), "*.* @@1.1.1.1:100");
     config->address("");
-    EXPECT_EQ(getConfig(configFilePath.c_str()), "#*.* @@remote-host:port");
+    EXPECT_EQ(fs::exists(configFilePath.c_str()), false);
 }
 
 TEST_F(TestRemoteLogging, testClearPort)
@@ -52,7 +65,7 @@
     config->port(100);
     EXPECT_EQ(getConfig(configFilePath.c_str()), "*.* @@1.1.1.1:100");
     config->port(0);
-    EXPECT_EQ(getConfig(configFilePath.c_str()), "#*.* @@remote-host:port");
+    EXPECT_EQ(fs::exists(configFilePath.c_str()), false);
 }
 
 } // namespace test
