package pw.binom.viewmate.phone import android.util.Log import pw.binom.viewmate.core.log.BatchingLogCollector /** * Единый лог телефона. * На устройстве — android.util.Log (видно в logcat); в JVM-юнит-тестах * (android.util.Log недоступен — метод без @JvmStatic фолбэктнет в println), * чтобы не падать. * * Плюс лог-коллектор: пачки (свои + пришедшие от очков) уходят на сервер * (HttpLogSink); при сбое — прихраняются в споуле и ретраятся позже. */ @Volatile private var logCollector: BatchingLogCollector? = null /** Подключить коллектор (PhoneApp.onCreate). */ fun attachLogCollector(collector: BatchingLogCollector) { logCollector = collector } fun log(tag: String, message: String) { val full = "[view-mate] $tag $message" runCatching { Log.d("view-mate-$tag", full) }.onFailure { println(full) } logCollector?.record(tag, message) }