fix bug in log upload
This commit is contained in:
@@ -203,6 +203,7 @@ const int MAX_CPUNO = 10;
|
||||
|
||||
//lnk20250121<32>ն<EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int IED_COUNT = 300; //Ĭ<><C4AC>300
|
||||
extern int INITFLAG;
|
||||
|
||||
//WW 2-23-08-20 add start
|
||||
otl_connect db; //OTL<54><4C><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD> WW 2023-08-20
|
||||
@@ -11789,7 +11790,7 @@ void ledger(const char* terminal_id, QIODevice* outputDevice) {
|
||||
if(ied != NULL){
|
||||
ied_usr = (ied_usr_t*)ied->usr_ext;
|
||||
if (ied_usr != NULL && (terminal_id == NULL || strcmp(ied_usr->terminal_id, terminal_id) == 0)) {
|
||||
printLedgerinshell(*ied_usr, outputDevice); // ʹ<><CAB9> QIODevice <20><><EFBFBD><EFBFBD>
|
||||
//printLedgerinshell(*ied_usr, outputDevice); // ʹ<><CAB9> QIODevice <20><><EFBFBD><EFBFBD>
|
||||
//std::cout << "!!! print to log !!!"<< std::endl;
|
||||
//printLedger(*ied_usr);
|
||||
found = true;
|
||||
@@ -11829,6 +11830,9 @@ void value_print(const char *variableName, QTcpSocket *clientSocket) {
|
||||
} else if (strcmp(variableName, "log") == 0) {
|
||||
sprintf(buffer, "showinshellflag = %d,debugOutputEnabled = %d,normalOutputEnabled = %d,warnOutputEnabled = %d,errorOutputEnabled = %d", showinshellflag,debugOutputEnabled,normalOutputEnabled,warnOutputEnabled,errorOutputEnabled);
|
||||
clientSocket->write(buffer);
|
||||
}else if (strcmp(variableName, "init") == 0) {
|
||||
sprintf(buffer, "INITFLAG = %d",INITFLAG);
|
||||
clientSocket->write(buffer);
|
||||
}else {
|
||||
clientSocket->write("Unknown variable name\n> ");
|
||||
}
|
||||
@@ -15496,31 +15500,39 @@ void myQtMsgHandler(QtMsgType type, const char *msg)
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD>д<EFBFBD><D0B4> debugList
|
||||
if (debugOutputEnabled) {
|
||||
pthread_mutex_lock(&debugListMutex);
|
||||
debugList.push_back(msg); // <20><> const char* ת<><D7AA>Ϊ std::string <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
debugList.push_back(msg);
|
||||
pthread_mutex_unlock(&debugListMutex);
|
||||
}
|
||||
|
||||
// ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stderr<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FILE* output = nullptr;
|
||||
const char* typeStr = "";
|
||||
switch (type) {
|
||||
case QtDebugMsg:
|
||||
typeStr = "Debug";
|
||||
output = stdout; // Debug <20>߱<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case QtWarningMsg:
|
||||
typeStr = "Warning";
|
||||
output = stderr; // Warning <20>߱<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case QtCriticalMsg:
|
||||
typeStr = "Critical";
|
||||
output = stderr; // Critical <20>߱<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
break;
|
||||
case QtFatalMsg:
|
||||
typeStr = "Fatal";
|
||||
output = stderr; // Fatal <20>߱<EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
break;
|
||||
}
|
||||
fprintf(stderr, "[%s] %s\n", typeStr, msg);
|
||||
fflush(stderr);
|
||||
|
||||
if (type == QtFatalMsg)
|
||||
fprintf(output, "[%s] %s\n", typeStr, msg);
|
||||
fflush(output);
|
||||
|
||||
// Fatal ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
|
||||
if (type == QtFatalMsg) {
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------ <20>Զ<EFBFBD><D4B6><EFBFBD> printf <20><><EFBFBD><EFBFBD> ------------------
|
||||
@@ -15545,16 +15557,62 @@ int customPrintf(const char* format, ...)
|
||||
return written;
|
||||
}
|
||||
|
||||
// **ԭʼ `echo_msgX()` <20><>ʵ<EFBFBD><CAB5>**
|
||||
void real_echo_msg(const char *format, ...) {
|
||||
char buffer[1024];
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
void echo_msg_errexy(const char *file_name, int line_no, int rv, const char *fmt, ...) {
|
||||
char __buf[1024];
|
||||
va_list __ap;
|
||||
va_start(__ap, fmt);
|
||||
vsnprintf(__buf, sizeof(__buf), fmt, __ap);
|
||||
va_end(__ap);
|
||||
|
||||
printf("%s", buffer);
|
||||
fflush(stdout); // ? ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2>
|
||||
// <20>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("[ERROR] rv=%d %s:%d => %s", rv, file_name, line_no, __buf);
|
||||
fflush(stdout);
|
||||
|
||||
// д<><D0B4> errorList
|
||||
if (errorOutputEnabled) {
|
||||
pthread_mutex_lock(&errorListMutex);
|
||||
errorList.push_back(std::string(__buf));
|
||||
pthread_mutex_unlock(&errorListMutex);
|
||||
}
|
||||
}
|
||||
|
||||
void echo_msg_warnexy(const char *file_name, int line_no, const char *fmt, ...) {
|
||||
char __buf[1024];
|
||||
va_list __ap;
|
||||
va_start(__ap, fmt);
|
||||
vsnprintf(__buf, sizeof(__buf), fmt, __ap);
|
||||
va_end(__ap);
|
||||
|
||||
// <20>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("[WARN ] %s:%d => %s", file_name, line_no, __buf);
|
||||
fflush(stdout);
|
||||
|
||||
// д<><D0B4> warnList
|
||||
if (warnOutputEnabled) {
|
||||
pthread_mutex_lock(&warnListMutex);
|
||||
warnList.push_back(std::string(__buf));
|
||||
pthread_mutex_unlock(&warnListMutex);
|
||||
}
|
||||
}
|
||||
|
||||
void echo_msg_debugexy(const char *file_name, int line_no, const char *fmt, ...) {
|
||||
char __buf[1024];
|
||||
va_list __ap;
|
||||
va_start(__ap, fmt);
|
||||
vsnprintf(__buf, sizeof(__buf), fmt, __ap);
|
||||
va_end(__ap);
|
||||
|
||||
// <20>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("[DEBUG] %s:%d => %s", file_name, line_no, __buf);
|
||||
fflush(stdout);
|
||||
|
||||
// д<><D0B4> normalList
|
||||
if (normalOutputEnabled) {
|
||||
pthread_mutex_lock(&normalListMutex);
|
||||
normalList.push_back(std::string(__buf));
|
||||
pthread_mutex_unlock(&normalListMutex);
|
||||
}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
Reference in New Issue
Block a user