@@ -15,7 +15,7 @@ using namespace std::string_view_literals;
1515using namespace std ::chrono_literals;
1616
1717constexpr size_t kMaxLogSize = 4 * 1024 * 1024 ;
18- constexpr long kLogBufferSize = 64 * 1024 ;
18+ constexpr long kLogBufferSize = 128 * 1024 ;
1919
2020namespace {
2121constexpr std::array<char , ANDROID_LOG_SILENT + 1 > kLogChar = {
@@ -225,10 +225,11 @@ 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 == " APatchD" sv || tag == " Dobby" sv || tag == " KernelSU" sv ||
230+ tag == " LSPlant" sv || tag == " LSPlt" sv || tag.starts_with (" LSPosed" sv) ||
231+ tag == " Magisk" sv || tag == " SELinux" sv || tag.starts_with (" zygisk" sv)))
232+ [[unlikely]] {
232233 verbose_print_count_ += PrintLogLine (entry, verbose_file_.get ());
233234 }
234235 if (entry.pid == my_pid_ && tag == " LSPosedLogcat" sv) [[unlikely]] {
@@ -250,8 +251,9 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
250251 enable_watchdog = false ;
251252 enable_watchdog.notify_one ();
252253 std::system (" resetprop -p --delete persist.logd.size" );
253- std::system (" resetprop -p --delete persist.logd.size.main" );
254254 std::system (" resetprop -p --delete persist.logd.size.crash" );
255+ std::system (" resetprop -p --delete persist.logd.size.main" );
256+ std::system (" resetprop -p --delete persist.logd.size.system" );
255257
256258 // Terminate the watchdog thread by exiting __system_property_wait firs firstt
257259 std::system (" setprop persist.log.tag V" );
@@ -263,28 +265,33 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
263265void Logcat::StartLogWatchDog () {
264266 constexpr static auto kLogdSizeProp = " persist.logd.size" sv;
265267 constexpr static auto kLogdTagProp = " persist.log.tag" sv;
266- constexpr static auto kLogdMainSizeProp = " persist.logd.size.main" sv;
267268 constexpr static auto kLogdCrashSizeProp = " persist.logd.size.crash" sv;
269+ constexpr static auto kLogdMainSizeProp = " persist.logd.size.main" sv;
270+ constexpr static auto kLogdSystemSizeProp = " persist.logd.size.system" sv;
268271 constexpr static long kErr = -1 ;
269272 std::thread watchdog ([this ] {
270273 Log (" [LogWatchDog started]\n " );
271274 while (true ) {
272275 enable_watchdog.wait (false ); // Blocking current thread until enable_watchdog is true;
273276 auto logd_size = GetByteProp (kLogdSizeProp );
274277 auto logd_tag = GetStrProp (kLogdTagProp );
275- auto logd_main_size = GetByteProp (kLogdMainSizeProp );
276278 auto logd_crash_size = GetByteProp (kLogdCrashSizeProp );
279+ auto logd_main_size = GetByteProp (kLogdMainSizeProp );
280+ auto logd_system_size = GetByteProp (kLogdSystemSizeProp );
277281 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 " );
282+ " ; logd.[default, crash, main, system].size: [" + std::to_string (logd_size) + " ," +
283+ std::to_string (logd_crash_size) + " ," + std::to_string (logd_main_size) + " ," +
284+ std::to_string (logd_system_size) + " ]\n " );
280285 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 ))) {
286+ !((logd_crash_size == kErr && logd_main_size == kErr && logd_system_size == kErr &&
287+ logd_size != kErr && logd_size >= kLogBufferSize ) ||
288+ (logd_crash_size != kErr && logd_crash_size >= kLogBufferSize &&
289+ logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
290+ logd_system_size != kErr && logd_system_size >= kLogBufferSize ))) {
285291 SetIntProp (kLogdSizeProp , std::max (kLogBufferSize , logd_size));
286- SetIntProp (kLogdMainSizeProp , std::max (kLogBufferSize , logd_main_size));
287292 SetIntProp (kLogdCrashSizeProp , std::max (kLogBufferSize , logd_crash_size));
293+ SetIntProp (kLogdMainSizeProp , std::max (kLogBufferSize , logd_main_size));
294+ SetIntProp (kLogdSystemSizeProp , std::max (kLogBufferSize , logd_system_size));
288295 SetStrProp (kLogdTagProp , " " );
289296 SetStrProp (" ctl.start" , " logd-reinit" );
290297 }
0 commit comments