新增log 4k写入文件控制功能
Change-Id: Iaeee7c4c593376bb70fea6061bd9186eac9d3753
diff --git a/mbtk/mbtk_logd/alog_read.c b/mbtk/mbtk_logd/alog_read.c
index 5e86138..20a6d0e 100755
--- a/mbtk/mbtk_logd/alog_read.c
+++ b/mbtk/mbtk_logd/alog_read.c
@@ -63,6 +63,7 @@
//extern char radiolog_buff[MAX_BUFFER_SIZE];
extern char *radio_globalPtr;
extern int radio_len;
+extern int emmc_pro;
void hex_print(char* buf, int len)
@@ -274,24 +275,35 @@
defaultBuffer[index] ^= 1;
}
}
-
- if(buffer_index + totalLen >= RADIOLOG_BUFF_SIZE && buffer_index < RADIOLOG_BUFF_SIZE)
+ if(emmc_pro)
{
- memcpy(buffer + buffer_index, defaultBuffer, totalLen);
- buffer_index += totalLen;
- if (write(fd_radio, buffer, buffer_index) < 0)
+ if(buffer_index + totalLen >= RADIOLOG_BUFF_SIZE && buffer_index < RADIOLOG_BUFF_SIZE)
+ {
+ memcpy(buffer + buffer_index, defaultBuffer, totalLen);
+ buffer_index += totalLen;
+ if (write(fd_radio, buffer, buffer_index) < 0)
+ {
+ perror("write error");
+ close(fd_radio);
+ return -1;
+ }
+ buffer_index = 0; // Reset buffer index after flushing
+ }
+ else
+ {
+ memcpy(buffer + buffer_index, defaultBuffer, totalLen);
+ buffer_index += totalLen;
+ //memcpy(radiolog_buff,buffer,buffer_index);
+ }
+ }
+ else
+ {
+ if (write(fd_radio, defaultBuffer, totalLen) < 0)
{
perror("write error");
close(fd_radio);
return -1;
}
- buffer_index = 0; // Reset buffer index after flushing
- }
- else
- {
- memcpy(buffer + buffer_index, defaultBuffer, totalLen);
- buffer_index += totalLen;
- //memcpy(radiolog_buff,buffer,buffer_index);
}
diff --git a/mbtk/mbtk_logd/main.c b/mbtk/mbtk_logd/main.c
index d2ba2b8..142ce13 100755
--- a/mbtk/mbtk_logd/main.c
+++ b/mbtk/mbtk_logd/main.c
@@ -31,6 +31,7 @@
#define mbtk_log(...)
#endif
+int emmc_pro = -1;
#define MAX_BUFFER_SIZE (8*1024)
#define MAX_SLEEP_TIME 2147483647
@@ -49,7 +50,7 @@
static void signal_handler(int signum)
{
- printf("Received SIGTERM signal, fflush buffer");
+ printf("Received SIGTERM signal, fflush buffer\n");
if(fcntl(tmp_syslog_fd, F_GETFL) != -1 && sys_globalPtr !=NULL )
{
if(write(tmp_syslog_fd, sys_globalPtr, sys_len) < 0)
@@ -159,7 +160,7 @@
json_object_object_get_ex(datajson, "enable", &listjson);
entry->enable = json_object_get_int(listjson);
mbtk_log("enable: %d\n", entry->enable);
-
+
json_object_object_get_ex(datajson, "name", &listjson);
entry->name = (char*)json_object_get_string(listjson);
printf("cmdval: %s\n", entry->name);
@@ -168,6 +169,10 @@
entry->out_path = (char*)json_object_get_string(listjson);
mbtk_log("cmdval: %s\n", entry->out_path);
+ json_object_object_get_ex(datajson, "emmc_protect", &listjson);
+ emmc_pro = json_object_get_int(listjson);
+ printf("emmc_pro enable: %d\n", emmc_pro);
+
json_object_object_get_ex(datajson, "log_stream", &listjson);
if (listjson) {
entry->ip = (char*)json_object_get_string(listjson);
diff --git a/mbtk/mbtk_logd/syslog_read.c b/mbtk/mbtk_logd/syslog_read.c
index e0cd2d0..183bee8 100755
--- a/mbtk/mbtk_logd/syslog_read.c
+++ b/mbtk/mbtk_logd/syslog_read.c
@@ -72,7 +72,7 @@
extern char *sys_globalPtr;
extern int sys_len;
-
+extern int emmc_pro;
static const struct blobmsg_policy log_policy[] = {
[LOG_MSG] = { .name = "msg", .type = BLOBMSG_TYPE_STRING },
@@ -316,25 +316,37 @@
}
}
-
- if(buffer_index + len >= SYSLOG_BUFF_SIZE && buffer_index < SYSLOG_BUFF_SIZE)
+ if(emmc_pro)
{
- memcpy(buffer + buffer_index, buf, len);
- buffer_index += len;
- if (write(sender.fd, buffer, buffer_index) < 0)
+ if(buffer_index + len >= SYSLOG_BUFF_SIZE && buffer_index < SYSLOG_BUFF_SIZE)
+ {
+ memcpy(buffer + buffer_index, buf, len);
+ buffer_index += len;
+ if (write(sender.fd, buffer, buffer_index) < 0)
+ {
+ perror("write error");
+ close(sender.fd);
+ return -1;
+ }
+ buffer_index = 0;
+ }
+ else
+ {
+ memcpy(buffer + buffer_index, buf, len);
+ buffer_index += len;
+ sys_len = buffer_index;
+ //memcpy(syslog_buff,buffer,buffer_index);
+ }
+ }
+ else
+ {
+
+ if(write(sender.fd, buf, len) < 0)
{
perror("write error");
close(sender.fd);
return -1;
}
- buffer_index = 0;
- }
- else
- {
- memcpy(buffer + buffer_index, buf, len);
- buffer_index += len;
- sys_len = buffer_index;
- //memcpy(syslog_buff,buffer,buffer_index);
}