feat: anonymize logs
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package me.rhunk.snapenhance
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import android.util.Log
|
||||
import com.google.gson.GsonBuilder
|
||||
import me.rhunk.snapenhance.common.logger.AbstractLogger
|
||||
@@ -108,6 +107,8 @@ class LogManager(
|
||||
private val LOG_LIFETIME = 24.hours
|
||||
}
|
||||
|
||||
private val anonymizeLogs by lazy { !remoteSideContext.config.root.scripting.disableLogAnonymization.get() }
|
||||
|
||||
var lineAddListener = { _: LogLine -> }
|
||||
|
||||
private val logFolder = File(remoteSideContext.androidContext.cacheDir, "logs")
|
||||
@@ -201,7 +202,16 @@ class LogManager(
|
||||
|
||||
fun internalLog(tag: String, logLevel: LogLevel, message: Any?) {
|
||||
runCatching {
|
||||
val line = LogLine(logLevel, getCurrentDateTime(), tag, message.toString())
|
||||
val line = LogLine(
|
||||
logLevel = logLevel,
|
||||
dateTime = getCurrentDateTime(),
|
||||
tag = tag,
|
||||
message = message.toString().let {
|
||||
if (anonymizeLogs)
|
||||
it.replace(Regex("[0-9a-f]{8}-[0-9a-f]{4}-{3}[0-9a-f]{12}", RegexOption.MULTILINE), "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
|
||||
else it
|
||||
}
|
||||
)
|
||||
logFile.appendText("|$line\n", Charsets.UTF_8)
|
||||
lineAddListener(line)
|
||||
Log.println(logLevel.priority, tag, message.toString())
|
||||
|
||||
@@ -619,6 +619,10 @@
|
||||
"hot_reload": {
|
||||
"name": "Hot Reload",
|
||||
"description": "Automatically reloads scripts when they change"
|
||||
},
|
||||
"disable_log_anonymization": {
|
||||
"name": "Disable Log Anonymization",
|
||||
"description": "Disables the anonymization of logs"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,4 +7,5 @@ class Scripting : ConfigContainer() {
|
||||
val developerMode = boolean("developer_mode", false) { requireRestart() }
|
||||
val moduleFolder = string("module_folder", "modules") { addFlags(ConfigFlag.FOLDER); requireRestart() }
|
||||
val hotReload = boolean("hot_reload", false)
|
||||
val disableLogAnonymization = boolean("disable_log_anonymization", false) { requireRestart() }
|
||||
}
|
||||
Reference in New Issue
Block a user