From b510ef46703720c556d5e74adc5d9d7018b888ec Mon Sep 17 00:00:00 2001 From: Minjae Gwon Date: Mon, 27 Nov 2023 23:58:24 +0900 Subject: [PATCH] feat: logging --- core/src/main/scala/Block.scala | 5 ++++- rpc/src/main/scala/ExchangeService.scala | 22 +++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/core/src/main/scala/Block.scala b/core/src/main/scala/Block.scala index ad14bf3..dafd168 100644 --- a/core/src/main/scala/Block.scala +++ b/core/src/main/scala/Block.scala @@ -43,12 +43,15 @@ object Block extends Logging { } -class Block(val records: LazyList[Record]) extends AnyVal { +class Block(val records: LazyList[Record]) extends Logging { def toChars: LazyList[Char] = records.flatMap(_.toChars) def writeTo(path: Path): File = { + logger.info(s"[Block] Writing block to $path") val file = File(path) + logger.info(s"[Block] Writing block to ${file.jfile.getAbsolutePath}") val writer = new BufferedOutputStream(new FileOutputStream(file.jfile)) + logger.info(s"[Block] Writer created for ${file.jfile.getAbsolutePath}") try { toChars.foreach(writer.write(_)) diff --git a/rpc/src/main/scala/ExchangeService.scala b/rpc/src/main/scala/ExchangeService.scala index ab36640..ec894f0 100644 --- a/rpc/src/main/scala/ExchangeService.scala +++ b/rpc/src/main/scala/ExchangeService.scala @@ -21,19 +21,27 @@ class ExchangeService( val promise = Promise[SaveReply] Future { - logger.info(s"[ExchangeServer] Save ($request)") - val block: Block = request.block + try { + logger.info(s"[ExchangeServer] Save ($request)") - val path = outputDirectory / UUID.randomUUID().toString + val block: Block = request.block - logger.info(s"[ExchangeServer] Writing block to $path") + val path = outputDirectory / UUID.randomUUID().toString - block.writeTo(path) + logger.info(s"[ExchangeServer] Writing block to $path") - logger.info(s"[ExchangeServer] Block written to $path") + block.writeTo(path) - promise.success(new SaveReply()) + logger.info(s"[ExchangeServer] Block written to $path") + + promise.success(new SaveReply()) + } catch { + case e: Exception => { + logger.error(s"[ExchangeServer] Error: ${e.getMessage}") + promise.failure(e) + } + } }(executionContext) promise.future