Coverage Summary for Class: LogxTimeUtils (kr.open.library.simple_ui.core.logcat.internal.common)

Class Class, % Method, % Branch, % Line, % Instruction, %
LogxTimeUtils 100% (1/1) 100% (5/5) 100% (6/6) 100% (42/42)


 package kr.open.library.simple_ui.core.logcat.internal.common
 
 import java.text.SimpleDateFormat
 import java.util.Date
 import java.util.Locale
 
 /**
  * Time utilities for Logx formatting.<br><br>
  * Logx 포맷팅을 위한 시간 유틸리티이다.<br>
  */
 internal object LogxTimeUtils {
     /**
      * Pattern for log line timestamps.<br><br>
      * 로그 라인 타임스탬프 패턴.<br>
      */
     private const val TIME_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS"
 
     /**
      * Pattern for log file name timestamps.<br><br>
      * 로그 파일명 타임스탬프 패턴.<br>
      */
     private const val FILE_PATTERN = "yyyy_MM_dd__HH-mm-ss-SSS"
 
     /**
      * Thread-local formatter for log timestamps.<br><br>
      * 로그 타임스탬프용 ThreadLocal 포매터.<br>
      */
     private val formatter: ThreadLocal<SimpleDateFormat> = ThreadLocal.withInitial {
         SimpleDateFormat(TIME_PATTERN, Locale.getDefault())
     }
 
     /**
      * Thread-local formatter for file timestamps.<br><br>
      * 파일 타임스탬프용 ThreadLocal 포매터.<br>
      */
     private val fileFormatter: ThreadLocal<SimpleDateFormat> = ThreadLocal.withInitial {
         SimpleDateFormat(FILE_PATTERN, Locale.getDefault())
     }
 
     /**
      * Returns current timestamp for log lines.<br><br>
      * 로그 라인에 사용할 현재 타임스탬프를 반환한다.<br>
      */
     fun nowTimestamp(): String = formatter.get().format(Date())
 
     /**
      * Returns current timestamp for file names.<br><br>
      * 파일명에 사용할 현재 타임스탬프를 반환한다.<br>
      */
     fun fileTimestamp(): String = fileFormatter.get().format(Date())
 }