Skip to content

Commit c8b5741

Browse files
committed
Adjust logging settings
1. Set log buffer size for system 2. Increase buffer size to 128 Kb 3. Record also SELinux logs
1 parent a39502b commit c8b5741

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

daemon/src/main/jni/logcat.cpp

+19-14
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ using namespace std::string_view_literals;
1515
using namespace std::chrono_literals;
1616

1717
constexpr size_t kMaxLogSize = 4 * 1024 * 1024;
18-
constexpr long kLogBufferSize = 64 * 1024;
18+
constexpr long kLogBufferSize = 128 * 1024;
1919

2020
namespace {
2121
constexpr std::array<char, ANDROID_LOG_SILENT + 1> kLogChar = {
@@ -225,10 +225,10 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
225225
modules_print_count_ += PrintLogLine(entry, modules_file_.get());
226226
shortcut = true;
227227
}
228-
if (verbose_ &&
229-
(shortcut || buf->id() == log_id::LOG_ID_CRASH || entry.pid == my_pid_ ||
230-
tag == "Dobby"sv || tag == "Magisk"sv || tag == "LSPlant"sv || tag == "LSPlt"sv ||
231-
tag.starts_with("LSPosed"sv) || tag.starts_with("zygisk"sv))) [[unlikely]] {
228+
if (verbose_ && (shortcut || buf->id() == log_id::LOG_ID_CRASH || entry.pid == my_pid_ ||
229+
tag == "Dobby"sv || tag == "Magisk"sv || tag == "LSPlant"sv ||
230+
tag == "LSPlt"sv || tag.starts_with("LSPosed"sv) || tag == "SELinux"sv ||
231+
tag.starts_with("zygisk"sv))) [[unlikely]] {
232232
verbose_print_count_ += PrintLogLine(entry, verbose_file_.get());
233233
}
234234
if (entry.pid == my_pid_ && tag == "LSPosedLogcat"sv) [[unlikely]] {
@@ -263,28 +263,33 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
263263
void Logcat::StartLogWatchDog() {
264264
constexpr static auto kLogdSizeProp = "persist.logd.size"sv;
265265
constexpr static auto kLogdTagProp = "persist.log.tag"sv;
266-
constexpr static auto kLogdMainSizeProp = "persist.logd.size.main"sv;
267266
constexpr static auto kLogdCrashSizeProp = "persist.logd.size.crash"sv;
267+
constexpr static auto kLogdMainSizeProp = "persist.logd.size.main"sv;
268+
constexpr static auto kLogdSystemSizeProp = "persist.logd.size.system"sv;
268269
constexpr static long kErr = -1;
269270
std::thread watchdog([this] {
270271
Log("[LogWatchDog started]\n");
271272
while (true) {
272273
enable_watchdog.wait(false); // Blocking current thread until enable_watchdog is true;
273274
auto logd_size = GetByteProp(kLogdSizeProp);
274275
auto logd_tag = GetStrProp(kLogdTagProp);
275-
auto logd_main_size = GetByteProp(kLogdMainSizeProp);
276276
auto logd_crash_size = GetByteProp(kLogdCrashSizeProp);
277+
auto logd_main_size = GetByteProp(kLogdMainSizeProp);
278+
auto logd_system_size = GetByteProp(kLogdSystemSizeProp);
277279
Log("[LogWatchDog running] log.tag: " + logd_tag +
278-
"; logd.[default, main, crash].size: [" + std::to_string(logd_size) + "," +
279-
std::to_string(logd_main_size) + "," + std::to_string(logd_crash_size) + "]\n");
280+
"; logd.[default, crash, main, system].size: [" + std::to_string(logd_size) + "," +
281+
std::to_string(logd_crash_size) + "," + std::to_string(logd_main_size) + "," +
282+
std::to_string(logd_system_size) + "]\n");
280283
if (!logd_tag.empty() ||
281-
!((logd_main_size == kErr && logd_crash_size == kErr && logd_size != kErr &&
282-
logd_size >= kLogBufferSize) ||
283-
(logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
284-
logd_crash_size != kErr && logd_crash_size >= kLogBufferSize))) {
284+
!((logd_crash_size == kErr && logd_main_size == kErr && logd_system_size == kErr &&
285+
logd_size != kErr && logd_size >= kLogBufferSize) ||
286+
(logd_crash_size != kErr && logd_crash_size >= kLogBufferSize &&
287+
logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
288+
logd_system_size != kErr && logd_system_size >= kLogBufferSize))) {
285289
SetIntProp(kLogdSizeProp, std::max(kLogBufferSize, logd_size));
286-
SetIntProp(kLogdMainSizeProp, std::max(kLogBufferSize, logd_main_size));
287290
SetIntProp(kLogdCrashSizeProp, std::max(kLogBufferSize, logd_crash_size));
291+
SetIntProp(kLogdMainSizeProp, std::max(kLogBufferSize, logd_main_size));
292+
SetIntProp(kLogdSystemSizeProp, std::max(kLogBufferSize, logd_system_size));
288293
SetStrProp(kLogdTagProp, "");
289294
SetStrProp("ctl.start", "logd-reinit");
290295
}

0 commit comments

Comments
 (0)