Writing HmsLogs in Local Storage
Save Logs from SDK in Local Storage
Logs from hmsSDK can be saved as a file in local storage by setting the settings from HmsLogSettings in Builder of hmsSDK instance.
In this , whenever there is a log printed from hmsSDK it will be saved in a seperate file.
💡 Each new meeting will have a seperate session log with file name as session-log-<room_id> file, where <room_id> is a placeholder
Implementation Details
HmsLogSettings must be passed as a parameter in hmsSdk builder object during instantiation.
Params:
maxDirSizeInBytes - max dir size in bytes to be maintained for /logs default - set to 10mb.
💡 Note : if the directory size exceeds the maxDirSizeInBytes provided by client, then it will delete the oldest files next time user starts a meeting to make room for new ones.
A background service is also started once a day to make sure that size of directory never exceeds the desired size.
isLogStorageEnabled - set to true if /logs are to be saved else false default - false.
level - set log level for logs to observe default - HMSLogger.Debug
private val hmsLogSettings : HMSLogSettings = HMSLogSettings(LogAlarmManager.DEFAULT_DIR_SIZE,true) val hmsSDK = HMSSDK .Builder(application) .setLogSettings(hmsLogSettings) .build()
💡 whenever there is a crash in hmsSDK , it will be logged in the file named as crash-log-<room_id> where <room_id> is a placeholder.
Fetching the Log Directory From SDK
It could look something like this:
import live.hms.video.utils.LogUtils
val dir : File = LogUtils.getDirPath(context = context)



