Commit f2e6ab1f by wuyang.zou

fix : 日志人性化输出

parent 1ad7d4a4
{"fm_cmd":1000,"listen_port":24445,"storeId":"208888","pos_id":"5","operator_id":"zouwuyang","is_master":false,"plugin_comment":"123.60.107.183","ver":1,"version":"1.3.1 RC"}
\ No newline at end of file
{"fm_cmd":1000,"listen_port":24445,"storeId":"208888","pos_id":"6","operator_id":"zouwuyang","is_master":false,"plugin_comment":"123.60.107.183","ver":1,"version":"1.3.1 RC"}
\ No newline at end of file
[SYS]
port=24446
#<<全家>
#config.ini 文件 中 [ODS] 模块中的
#(生产环境外网 IP [内网IP:10.251.100.70] )
#ip: 123.60.107.182
#(测试环境外网 IP [内网IP:10.251.102.14] )
#ip: 123.60.107.183
[ODS]
# ip=api.ods.chinafamilymart.com.cn
ip =123.60.107.183
pushPort=30001
recvPort=30002
socketTimeout=120
[POS]
ip=127.0.0.1
port=24445
;Windows 模拟程序 新增可配置功能:
;配置门店号, POS号, 是否主POS标识, 插件模拟角色: 默认是插件(可控制是否自动登录) / simulatorRole=pos 标识模拟POS发送登录请求;
storeId=208888
posId=6
isMaster=false
simulatorRole=pos
;autoLogin=true
* GLOBAL:
ENABLED = true
TO_FILE = true
TO_STANDARD_OUTPUT = true
FORMAT = "[%level | %datetime] | %msg"
FILENAME = "./logs/log.log"
MILLISECONDS_WIDTH = 3
PERFORMANCE_TRACKING = false
MAX_LOG_FILE_SIZE = 20485760
LOG_FLUSH_THRESHOLD = 10
* TRACE:
FILENAME = "./logs/trace_log.log"
* DEBUG:
FILENAME = "./logs/debug_log.log"
* FATAL:
ENABLED = false
* ERROR:
FILENAME = "./logs/error_log.log"
* WARNING:
FILENAME = "./logs/warning_log.log"
* INFO:
FILENAME = "./logs/info_log.log"
* VERBOSE:
ENABLED = false
......@@ -9,7 +9,8 @@ port=24446
#ip: 123.60.107.183
[ODS]
ip=api.ods.chinafamilymart.com.cn
# ip=api.ods.chinafamilymart.com.cn
ip =123.60.107.183
pushPort=30001
recvPort=30002
......
......@@ -36,9 +36,9 @@ void* PosHandle::listen_pos_func(void* arg) {
JsonModule jsonTool;
if (server.doListen(client_listen_port)) { // 监控Plugin本地端口: Plugin Liston -> port [24446]
LOG(INFO) << "[PosPlugin] Listen Port: [" << client_listen_port << "] Successful, Recv [POS] Request" << '\n';
LOG(INFO) << "[PosPlugin] Listen Port: [" << client_listen_port << "] Successful, Wait Recv [POS] Request" << '\n';
} else {
LOG(INFO) << "[PosPlugin] Listen Port: [" << client_listen_port << "] Failed, Maybe Instance Is Exist, Exit!!!";
LOG(INFO) << "[PosPlugin] Listen Port: [" << client_listen_port << "] Failed, Maybe Instance Is Exist, Exit!!!";
exit(0);
}
......@@ -234,7 +234,7 @@ void* PosHandle::listen_pos_func(void* arg) {
void PosHandle::getIpByDns(IN std::string &ods_ip) {
if (ods_ip.front() < '0' || ods_ip.front() > '9') {
LOG(INFO) << "DNS Resolve IP Begin , Origin ods_ip: " << ods_ip.c_str();
LOG(INFO) << "DNS Resolve IP Begin, Origin ods_ip: " << ods_ip.c_str() << std::endl;
struct hostent* pHost = NULL;
bool bGetDnsRet = false;
// 需考虑POS机断网后,域名解析会频繁失败,频繁失败,插件有退出程序的可能,故在此进行类似死循环处理,插件永不主动退出;
......@@ -530,7 +530,7 @@ bool PosHandle::simulator_pos_send_init() {
LOG(INFO) << "Simulator Pos Send Login Request ===>> PosPlugin " << g_simulator_pos_req_data.data();
LOG(INFO) << "Simulator Pos Connect pos_ip: " << pos_ip.c_str() << " Port:" << client_listen_port;
if (g_simulator_pos_client.doConnect(client_listen_port, pos_ip.c_str())) {
g_simulator_pos_client.setSocketTimeout(5); //设置超时
g_simulator_pos_client.setSocketTimeout(120); //设置超时
if (g_simulator_pos_client.write(g_simulator_pos_req_data.data())) {
//等待POS-Plugin返回初始化结果
......
......@@ -66,8 +66,8 @@ std::string g_plugin_relogin_ods_reason; // 插件重新登录 ODS 的原因;
#ifdef WIN32
bool bInitDone = false; //初始化完成
std::string g_pluginAppName = "takeaway_d";
std::string g_psAppFullName = "E:\\zouwuyang\\FamilyMart\\PosPluginClient\\familyMart_takeaway\\bin\\ps";
std::string g_appBootStriptFile = "E:\\zouwuyang\\FamilyMart\\PosPluginClient\\familyMart_takeaway\\bin\\run_cream.sh";
std::string g_psAppFullName = "D:\\DEV_CODE\\FamilyMart\\familyMart_takeaway\\bin\\ps";
std::string g_appBootStriptFile = "D:\\DEV_CODE\\FamilyMart\\familyMart_takeaway\\bin\\run_cream.sh";
#else
bool bInitDone = false; //初始化完成
std::string g_pluginAppName = "takeaway";
......@@ -105,8 +105,8 @@ int main(int argc,char *argv[])
JsonModule jsonToolTemp;
LOG(INFO) << "---------software start---------";
LOG(INFO) << "version:"<< g_plugin_version;
LOG(INFO) << "<-----------Software Start----------->";
LOG(INFO) << "Version: "<< g_plugin_version;
// 读取配置文件信息
std::string strIniPath(strBinPath.data());
strIniPath.append("config.ini");
......@@ -156,11 +156,11 @@ int main(int argc,char *argv[])
+ "\",\"version\":\"" + g_plugin_version + "\",\"listen_port\":24445 }";
}
LOG(INFO) << "[ODS]ip: " << ods_ip.data() << "-push port: " << ods_push_port << "-recv port: " << ods_recv_port << "-socket timeout: " << ods_socket_timeout;
LOG(INFO) << "[POS]ip: " << pos_ip << "-listen port:" << pos_listen_port << " storeId:" << pos_config_storeid << " posId:" << pos_config_posid << " is_master:" << pos_config_ismaster;
LOG(INFO) << "[ODS]ip: " << ods_ip.data() << " ->push port: " << ods_push_port << " ->recv port: " << ods_recv_port << " ->socket timeout: " << ods_socket_timeout;
LOG(INFO) << "[POS]ip: " << pos_ip << " ->listen port:" << pos_listen_port << " ->storeId:" << pos_config_storeid << " ->posId:" << pos_config_posid << " ->is_master:" << pos_config_ismaster;
#else
LOG(INFO) << "[ODS]ip: " << ods_ip.data() << "-push port: " << ods_push_port << "-recv port: " << ods_recv_port << "-socket timeout: " << ods_socket_timeout;
LOG(INFO) << "[POS]ip: " << pos_ip << "-listen port: " << pos_listen_port;
LOG(INFO) << "[ODS]ip: " << ods_ip.data() << " ->push port: " << ods_push_port << " ->recv port: " << ods_recv_port << " ->socket timeout: " << ods_socket_timeout;
LOG(INFO) << "[POS]ip: " << pos_ip << " ->listen port: " << pos_listen_port;
#endif
LOG(INFO) << "[PosPlugin] Listen Port: " << client_listen_port;
......@@ -210,11 +210,11 @@ int main(int argc,char *argv[])
#ifdef WIN32
// Test Add New Feature Convert Result: Column Field
std::string testOrderJson = jsonToolTemp.getTestOrderJson();
LOG(INFO) << "----------- Plugin Read Local Test Order File Success ------------" << testOrderJson << '\n';
if (testOrderJson.length()) {
LOG(INFO) << "----------- Plugin Read Local Test Order File Success ------------" << testOrderJson << '\n';
std::string convertTestOrderJson = jsonToolTemp.getConvertOrderJson(testOrderJson);
if (testOrderJson.length() && convertTestOrderJson.length()) {
LOG(INFO) << "----------- Plugin Read&Convert Local Test Order File Success ------------";
LOG(INFO) << "----------- Plugin Read & Convert Local Test Order File Success ------------";
LOG(INFO) << charset_u2g(convertTestOrderJson);
LOG(INFO) << "----------No charset_u2g(*)-------------";
LOG(INFO) << convertTestOrderJson;
......@@ -323,7 +323,10 @@ int main(int argc,char *argv[])
LOG(INFO) << "PosPlugin Haven't Receive Pos Init Tcp Data, Check Pos Listen Port Is Ok, Prepare Login ODS...... ";
g_init_data = g_local_pos_init_data;
bInitDone = true;
} else {
LOG(INFO) << "PosPlugin Haven't Receive Pos Init Tcp Data And Pos Service Haven't Exist, Still Waitting...";
}
}
if ( waitPosInitReqTimeOutCount < 6 ) {
......
......@@ -318,7 +318,7 @@ void create_process_daemon() {
WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile(strDaemonAppPath.c_str() , &wfd );
if (INVALID_HANDLE_VALUE == hFind) {
LOG(INFO) << "strDaemonAppPath:" << strDaemonAppPath.c_str() << " No Exist !!!";
LOG(INFO) << "strDaemonAppPath: " << strDaemonAppPath.c_str() << " No Exist !!!";
return;
}
else {
......@@ -336,7 +336,7 @@ void create_process_daemon() {
// WaitForSingleObject(pi.hProcess, INFINITE);
// CloseHandle(pi.hProcess);
// system("start regedit.exe"); // Meybe Block Main Process;
LOG(INFO) << "Start Another Process Success , DaemonAppPath:" << strDaemonAppPath.c_str();
LOG(INFO) << "Start Another Process Success, DaemonAppPath: " << strDaemonAppPath.c_str();
}
#else
......@@ -348,15 +348,15 @@ void create_process_daemon() {
// 判断 fmtakeout 目录下是否存在 有可执行权限的 fmPluginDaemon 程序
if (access(strDaemonAppPath.c_str(), X_OK) == 0) {
LOG(INFO) << "create_process_daemon:: DaemonAppPath:" << strDaemonAppPath.c_str() << " Exist And Has Execute Permission ";
LOG(INFO) << "create_process_daemon:: DaemonAppPath: " << strDaemonAppPath.c_str() << " Exist And Has Execute Permission ";
} else {
LOG(INFO) << "create_process_daemon:: DaemonAppPath:" << strDaemonAppPath.c_str() << " Non-Exist Or No Execute Permission ";
LOG(INFO) << "create_process_daemon:: DaemonAppPath: " << strDaemonAppPath.c_str() << " Non-Exist Or No Execute Permission ";
return;
}
// 判断 fmtakeout 目录下是否存在 有可执行权限的 ps 程序
if (access(g_psAppFullName.c_str(), X_OK) == 0) {
LOG(INFO) << "create_process_daemon:: psAppPath:" << g_psAppFullName.c_str() << " Exist And Has Execute Permission ";
LOG(INFO) << "create_process_daemon:: psAppPath: " << g_psAppFullName.c_str() << " Exist And Has Execute Permission ";
}
else {
LOG(INFO) << "create_process_daemon:: psAppPath:" << g_psAppFullName.c_str() << " Non-Exist Or No Execute Permission ";
......@@ -367,7 +367,7 @@ void create_process_daemon() {
if ( does_daemon_work() )
LOG(INFO) << "create_process_daemon:: DaemonApp: Is Running No Need Run Another One";
else {
LOG(INFO) << "create_process_daemon:: DaemonApp: Haven't Run, Start DaemonApp Now ";
LOG(INFO) << "create_process_daemon:: DaemonApp: Haven't Run, Start DaemonApp Now";
// 4、启动daemon程序;
system( strDaemonAppPath.c_str() );
}
......@@ -378,7 +378,7 @@ void create_process_daemon() {
int does_daemon_work()
{
#ifdef WIN32
LOG(INFO) << "does_daemon_work:: DaemonApp Is Running, No Need Check Status ";
LOG(INFO) << "does_daemon_work:: DaemonApp Is Running, No Need Check Status";
return 1;
#else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment