Scala按天写入日志文件

如果希望把每天出错的信息写入日志文件,每天新建一个文件。

package test.scala
import java.io.{File, FileWriter}
import java.text.SimpleDateFormat
import java.util.{Calendar, Date}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future

object LogWriter {
  private val logDirectory = new File("D:\\data\\log")
  private val dateFormat = new SimpleDateFormat("yyyy-MM-dd")
  private val lock = new Object()

  private def createLogFile(): File = {
    val currentDate = dateFormat.format(new Date())
    val logFileName = s"$currentDate.log"
    val logFile = new File(logDirectory, logFileName)

    if (!logDirectory.exists()) {
      logDirectory.mkdirs()
    }

    if (!logFile.exists()) {
      logFile.createNewFile()
    }

    logFile
  }

  def writeLog(content: String): Unit = {
    lock.synchronized {
      val logFile = createLogFile()
      val currentTime = Calendar.getInstance().getTime
      val dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
      val formattedTime = dateFormat.format(currentTime)
      //val logLine = s"$content\n"
      val logLine = s"$formattedTime: $content\n"

      val fileWriter = new FileWriter(logFile, true)
      fileWriter.write(logLine)
      fileWriter.close()
    }
  }

  def main(args: Array[String]): Unit = {
    LogWriter.writeLog("日志测试一")
    LogWriter.writeLog("日志测试二")
    LogWriter.writeLog("日志测试三")
  }
}

在这里插入图片描述

日志文件内容:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值