@@ -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,11 @@ 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 == " 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]] {
232
233
verbose_print_count_ += PrintLogLine (entry, verbose_file_.get ());
233
234
}
234
235
if (entry.pid == my_pid_ && tag == " LSPosedLogcat" sv) [[unlikely]] {
@@ -250,8 +251,9 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
250
251
enable_watchdog = false ;
251
252
enable_watchdog.notify_one ();
252
253
std::system (" resetprop -p --delete persist.logd.size" );
253
- std::system (" resetprop -p --delete persist.logd.size.main" );
254
254
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" );
255
257
256
258
// Terminate the watchdog thread by exiting __system_property_wait firs firstt
257
259
std::system (" setprop persist.log.tag V" );
@@ -263,28 +265,33 @@ void Logcat::ProcessBuffer(struct log_msg *buf) {
263
265
void Logcat::StartLogWatchDog () {
264
266
constexpr static auto kLogdSizeProp = " persist.logd.size" sv;
265
267
constexpr static auto kLogdTagProp = " persist.log.tag" sv;
266
- constexpr static auto kLogdMainSizeProp = " persist.logd.size.main" sv;
267
268
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;
268
271
constexpr static long kErr = -1 ;
269
272
std::thread watchdog ([this ] {
270
273
Log (" [LogWatchDog started]\n " );
271
274
while (true ) {
272
275
enable_watchdog.wait (false ); // Blocking current thread until enable_watchdog is true;
273
276
auto logd_size = GetByteProp (kLogdSizeProp );
274
277
auto logd_tag = GetStrProp (kLogdTagProp );
275
- auto logd_main_size = GetByteProp (kLogdMainSizeProp );
276
278
auto logd_crash_size = GetByteProp (kLogdCrashSizeProp );
279
+ auto logd_main_size = GetByteProp (kLogdMainSizeProp );
280
+ auto logd_system_size = GetByteProp (kLogdSystemSizeProp );
277
281
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 " );
280
285
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 ))) {
285
291
SetIntProp (kLogdSizeProp , std::max (kLogBufferSize , logd_size));
286
- SetIntProp (kLogdMainSizeProp , std::max (kLogBufferSize , logd_main_size));
287
292
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));
288
295
SetStrProp (kLogdTagProp , " " );
289
296
SetStrProp (" ctl.start" , " logd-reinit" );
290
297
}
0 commit comments