yocto: CB1 optimize fake logcat log display [1/1]
PD#SWPL-145960
Problem:
optimize fake logcat log display
Solution:
optimize fake logcat log display
Verify:
Local
Signed-off-by: yanmei.yang <yanmei.yang@amlogic.com>
Change-Id: I363120995466925c18391e9a5ba8fb0ed83376fe
diff --git a/liblog/fake_log_device.c b/liblog/fake_log_device.c
index a3b3166..850fd07 100644
--- a/liblog/fake_log_device.c
+++ b/liblog/fake_log_device.c
@@ -92,12 +92,13 @@
int writeLen;
int stdoutFlag;
int outFd;
+ char nooutputfile;
char keepFile;
char format[16];
char logPath[64];
}FakeLogEnv;
-static FakeLogEnv logEnv = {0, 1048576, 0, 0, -1, 0, "time", "/data"};
+static FakeLogEnv logEnv = {0, 1048576, 0, 0, -1, 0, 0, "time", "/data"};
#ifdef HAVE_PTHREADS
@@ -287,8 +288,8 @@
/*
* Taken from the long-dead utils/Log.cpp
*/
- const char* fstr = getenv("ANDROID_PRINTF_LOG");
-
+ //const char* fstr = getenv("ANDROID_PRINTF_LOG");
+ const char *fstr = logEnv.format;
LogFormat format;
if (fstr == NULL) {
format = FORMAT_BRIEF;
@@ -311,7 +312,8 @@
format = (LogFormat) atoi(fstr); // really?!
}
- logState->outputFormat = FORMAT_TIME;//format;
+ fprintf(stderr, "liglog: format: %d\n", format);
+ logState->outputFormat = format;
}
/*
@@ -448,6 +450,12 @@
if (!pathini) {
p = getKeyValue(buf, "LOG_PATH");
if (p) {
+ if (!strcmp (p, "/dev/null")) {
+ logEnv.nooutputfile = 1;
+ pathini = 1;
+ continue;;
+ }
+
char dir[32];
sprintf(dir, "%s/logcat/", p);
struct stat sb;
@@ -507,6 +515,7 @@
free(buf);
}
fclose(fp);
+ logEnv.initFlag = 1;
}
/*
@@ -517,6 +526,9 @@
static void showLog(LogState *state,
int logPrio, const char* tag, const char* msg)
{
+ if (logEnv.initFlag && logEnv.nooutputfile)
+ return;
+
#if defined(HAVE_LOCALTIME_R)
struct tm tmBuf;
#endif
@@ -680,11 +692,6 @@
* somewhat by wrapping the writev call in the Mutex.
*/
- if (!logEnv.initFlag) {
- initLogcatEnv();
- logEnv.initFlag = 1;
- }
-
if (logEnv.initFlag && logEnv.outFd < 0 ) {
if (logEnv.stdoutFlag) {
logEnv.outFd = fileno(stderr);
@@ -822,6 +829,8 @@
lock();
+ initLogcatEnv();
+
logState = createLogState();
if (logState != NULL) {
configureInitialState(pathName, logState);