@@ -15,7 +15,7 @@ using namespace std::string_view_literals;
15
15
using namespace std ::chrono_literals;
16
16
17
17
constexpr size_t kMaxLogSize = 4 * 1024 * 1024 ;
18
- constexpr long kLogBufferSize = 64 * 1024 ;
18
+ constexpr long kLogBufferSize = 128 * 1024 ;
19
19
20
20
namespace {
21
21
constexpr std::array<char , ANDROID_LOG_SILENT + 1 > kLogChar = {
@@ -225,10 +225,10 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
225
225
modules_print_count_ += PrintLogLine (entry, modules_file_.get ());
226
226
shortcut = true ;
227
227
}
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]] {
232
232
verbose_print_count_ += PrintLogLine (entry, verbose_file_.get ());
233
233
}
234
234
if (entry.pid == my_pid_ && tag == " LSPosedLogcat" sv) [[unlikely]] {
@@ -250,8 +250,9 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
250
250
enable_watchdog = false ;
251
251
enable_watchdog.notify_one ();
252
252
std::system (" resetprop -p --delete persist.logd.size" );
253
- std::system (" resetprop -p --delete persist.logd.size.main" );
254
253
std::system (" resetprop -p --delete persist.logd.size.crash" );
254
+ std::system (" resetprop -p --delete persist.logd.size.main" );
255
+ std::system (" resetprop -p --delete persist.logd.size.system" );
255
256
256
257
// Terminate the watchdog thread by exiting __system_property_wait firs firstt
257
258
std::system (" setprop persist.log.tag V" );
@@ -263,28 +264,33 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
263
264
void Logcat::StartLogWatchDog () {
264
265
constexpr static auto kLogdSizeProp = " persist.logd.size" sv;
265
266
constexpr static auto kLogdTagProp = " persist.log.tag" sv;
266
- constexpr static auto kLogdMainSizeProp = " persist.logd.size.main" sv;
267
267
constexpr static auto kLogdCrashSizeProp = " persist.logd.size.crash" sv;
268
+ constexpr static auto kLogdMainSizeProp = " persist.logd.size.main" sv;
269
+ constexpr static auto kLogdSystemSizeProp = " persist.logd.size.system" sv;
268
270
constexpr static long kErr = -1 ;
269
271
std::thread watchdog ([this ] {
270
272
Log (" [LogWatchDog started]\n " );
271
273
while (true ) {
272
274
enable_watchdog.wait (false ); // Blocking current thread until enable_watchdog is true;
273
275
auto logd_size = GetByteProp (kLogdSizeProp );
274
276
auto logd_tag = GetStrProp (kLogdTagProp );
275
- auto logd_main_size = GetByteProp (kLogdMainSizeProp );
276
277
auto logd_crash_size = GetByteProp (kLogdCrashSizeProp );
278
+ auto logd_main_size = GetByteProp (kLogdMainSizeProp );
279
+ auto logd_system_size = GetByteProp (kLogdSystemSizeProp );
277
280
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 " );
281
+ " ; logd.[default, crash, main, system].size: [" + std::to_string (logd_size) + " ," +
282
+ std::to_string (logd_crash_size) + " ," + std::to_string (logd_main_size) + " ," +
283
+ std::to_string (logd_system_size) + " ]\n " );
280
284
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 ))) {
285
+ !((logd_crash_size == kErr && logd_main_size == kErr && logd_system_size == kErr &&
286
+ logd_size != kErr && logd_size >= kLogBufferSize ) ||
287
+ (logd_crash_size != kErr && logd_crash_size >= kLogBufferSize &&
288
+ logd_main_size != kErr && logd_main_size >= kLogBufferSize &&
289
+ logd_system_size != kErr && logd_system_size >= kLogBufferSize ))) {
285
290
SetIntProp (kLogdSizeProp , std::max (kLogBufferSize , logd_size));
286
- SetIntProp (kLogdMainSizeProp , std::max (kLogBufferSize , logd_main_size));
287
291
SetIntProp (kLogdCrashSizeProp , std::max (kLogBufferSize , logd_crash_size));
292
+ SetIntProp (kLogdMainSizeProp , std::max (kLogBufferSize , logd_main_size));
293
+ SetIntProp (kLogdSystemSizeProp , std::max (kLogBufferSize , logd_system_size));
288
294
SetStrProp (kLogdTagProp , " " );
289
295
SetStrProp (" ctl.start" , " logd-reinit" );
290
296
}
0 commit comments