Custom loggers are currently only supported in Swift, JavaScript and TypeScript. Reach out to us if you want access to custom loggers in your programming languages.
To get fine control over the logs you can provide a custom logger to the Avo Functions.
Notice the returned boolean, if you return true
Avo Functions won't print the built-in logs.
SwiftCopy123456789101112131415161718class MyAvoLogger : AvoLogger {func logDebug(env: AvoEnv, message: String) -> Bool {NSLog("[debug] My avo logger: " + String(describing: env) + " " + message)return true}func logWarn(env: AvoEnv, message: String) -> Bool {NSLog("[warn] My avo logger: " + String(describing: env) + " " + message)return false}func logError(env: AvoEnv, message: String) -> Bool {NSLog("[error] My avo logger: " + String(describing: env) + " " + message)return false}}Avo.initAvo(...)Avo.avoLogger = MyAvoLogger()
JavaScriptCopy12345678910111213141516171819const avoLogger = {logDebug: (env, message) => {console.log("Avo Custom Logger Here!", message, env)return true},logWarn: (env, message) => {console.log("Avo Custom Logger Here!", message, env)return true},logError: (env, message) => {console.log("Avo Custom Logger Here!", message, env)return true}};Avo.initAvo({ env: env.DEV, ..., avoLogger: avoLogger },...);
TypeScriptCopy12345678910111213141516171819const avoLogger = {logDebug: (env: AvoEnv, message: string): boolean => {console.log("Avo Custom Logger Here!", message, env)return true},logWarn: (env: AvoEnv, message: string): boolean => {console.log("Avo Custom Logger Here!", message, env)return true},logError: (env: AvoEnv, message: string): boolean => {console.log("Avo Custom Logger Here!", message, env)return true}};Avo.initAvo({ env: env.DEV, ..., avoLogger: avoLogger },...);