Skip to main content Skip to docs navigation

LoggerUI Util

On this page
Stats
#callbacks:

Using LoggerUI

Small utility to easily show the status/progress of some server activity to the user.

scala
BSBtn().BtnPrimary.lbl("Start task").callback(implicit fsc => {
  LoggerUI.runInSeparateThreadAndOpenProgressModal("Long running task") { logger =>
    logger.info("Starting a long running task...")
    Thread.sleep(500)
    logger.warn("Trying something which may fail...")
    Thread.sleep(500)
    logger.danger("Ups, it inded failed")
    Thread.sleep(500)
    logger.debug("Retrying...")
    Thread.sleep(500)
    logger.info("Great, now it succeeded!")
    Thread.sleep(500)
    logger.debug("Cleaning up a couple of things...")
    Thread.sleep(500)
    logger.success("Finished successfully!")
    logger.finished()
  }
}).btn.w_100

With progres

scala
BSBtn().BtnPrimary.lbl("Start task").callback(implicit fsc => {
  LoggerUI.runInSeparateThreadAndOpenProgressModal("Long running task with 7 steps", Some(7)) { logger =>
    logger.info("Starting a long running task...")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.warn("Trying something which may fail...")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.danger("Ups, it inded failed")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.debug("Retrying...")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.info("Great, now it succeeded!")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.debug("Cleaning up a couple of things...")
    logger.incrementProgress()
    Thread.sleep(500)
    logger.success("Finished successfully!")
    logger.incrementProgress()
  }
}).btn.w_100