From 0117d5f8ff386075b0c4cbec0cbe460fe3cfa680 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期四, 06 五月 2021 18:57:25 +0800
Subject: [PATCH] add logging, use boost.log.

---
 box/center_main.cc |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/box/center_main.cc b/box/center_main.cc
index 79210fc..a8d5b75 100644
--- a/box/center_main.cc
+++ b/box/center_main.cc
@@ -19,6 +19,7 @@
 #include "box.h"
 #include "center.h"
 #include "defs.h"
+#include "log.h"
 #include "signalhandle.h"
 #include <boost/interprocess/sync/named_mutex.hpp>
 #include <chrono>
@@ -50,7 +51,7 @@
 		if (mtx && time_stamp) {
 			Guard lock(*mtx);
 			auto now = NowSec();
-			// printf("old: %ld, now: %ld\n", *time_stamp, now);
+			LOG_DEBUG() << "old: " << *time_stamp << ", now: " << now;
 			if (now > *time_stamp + 10) {
 				*time_stamp = now;
 				auto UpdateTime = [this, time_stamp]() {
@@ -91,12 +92,21 @@
 		return 0;
 	}
 
+	ns_log::AddLog("/tmp/bhshmq_center.log", true, true);
+	auto lvl = args.Get("log", "info");
+	if (strcasecmp(lvl.c_str(), "trace") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::trace); }
+	if (strcasecmp(lvl.c_str(), "debug") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::debug); }
+	if (strcasecmp(lvl.c_str(), "info") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::info); }
+	if (strcasecmp(lvl.c_str(), "warning") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::warning); }
+	if (strcasecmp(lvl.c_str(), "error") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::error); }
+	if (strcasecmp(lvl.c_str(), "fatal") == 0) { ns_log::ResetLogLevel(ns_log::LogLevel::fatal); }
+
 	auto &shm = BHomeShm();
 	GlobalInit(shm);
 
 	InstanceFlag inst(shm, kCenterRunningFlag);
 	if (!inst.TryStartAsFirstInstance()) {
-		printf("another instance is running, exit.\n");
+		LOG_INFO() << "another instance is running, exit.";
 		return 0;
 	}
 
@@ -107,8 +117,10 @@
 	BHCenter center(shm);
 	center.Start();
 
-	printf("center started ...\n");
+	LOG_INFO() << "center started ...";
 	WaitForSignals({SIGINT, SIGTERM});
+	center.Stop();
+	LOG_INFO() << "center stopped.";
 	return 0;
 }
 

--
Gitblit v1.8.0