Add AbsLogger plugin, persist logs to db, logs page for android

This commit is contained in:
advplyr
2025-04-19 17:26:32 -05:00
parent b9e3ccd0c1
commit 390388fe83
10 changed files with 208 additions and 10 deletions
+42
View File
@@ -0,0 +1,42 @@
import { registerPlugin, WebPlugin } from '@capacitor/core'
class AbsLoggerWeb extends WebPlugin {
constructor() {
super()
this.logs = []
}
saveLog(level, message) {
this.logs.push({
id: Math.random().toString(36).substring(2, 15),
timestamp: Date.now(),
level: level,
message: message
})
}
async info(data) {
if (data?.message) {
this.saveLog('info', data.message)
console.log('AbsLogger: info', data.message)
}
}
async error(data) {
if (data?.message) {
this.saveLog('error', data.message)
console.error('AbsLogger: error', data.message)
}
}
async getAllLogs() {
return this.logs
}
}
const AbsLogger = registerPlugin('AbsLogger', {
web: () => new AbsLoggerWeb()
})
export { AbsLogger }
+2 -5
View File
@@ -2,12 +2,9 @@ import Vue from 'vue'
import { AbsAudioPlayer } from './AbsAudioPlayer'
import { AbsDownloader } from './AbsDownloader'
import { AbsFileSystem } from './AbsFileSystem'
import { AbsLogger } from './AbsLogger'
import { Capacitor } from '@capacitor/core'
Vue.prototype.$platform = Capacitor.getPlatform()
export {
AbsAudioPlayer,
AbsDownloader,
AbsFileSystem
}
export { AbsAudioPlayer, AbsDownloader, AbsFileSystem, AbsLogger }