본문 바로가기
IT

로그파일에서 일시를 UTC->KST 로 변환 하여 표시 하는 방법.

by 병헤는 밤 2024. 9. 24.
반응형

tail -f logfile.log 로 파일을 모니터링 하는데 아래와 같은 포멧으로 표시가 된다.

 

2024-09-24 04:41:46,996 - gRPC-Langchain RAG SERVER - INFO - FUNCTION_CALL START
2024-09-24 04:41:48,533 - gRPC-Langchain RAG SERVER - INFO - RQA_CONVERSATION : START RETRIEVAL
2024-09-24 04:41:50,397 - gRPC-Langchain RAG SERVER - INFO - FUNCTION_CALL : skin_trouble / Retrieved 5 documents
2024-09-24 04:41:50,447 - gRPC-Langchain RAG SERVER - INFO - STREAMING START
2024-09-24 04:41:52,999 - gRPC-Langchain RAG SERVER - INFO - STREAMING END

 

그런데 해당 일시가 UTC 기준 일시여서 KST로 표시하고 싶다.

 

tail -f ./grpc_server.log | awk '
{
  # 로그에서 날짜 및 시간(밀리초 포함)을 추출
  match($0, /[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}/, a);
  if (a[0] != "") {
    # 날짜 시간 부분과 밀리초를 분리
    split(a[0], datetime_parts, ",");
    # Unix 타임스탬프로 변환 (밀리초는 제외하고 처리)
    new_time = strftime("%Y-%m-%d %H:%M:%S", mktime(gensub(/[-: ]/, " ", "g", datetime_parts[1])) + 32400);
    # 밀리초 붙여서 새로운 시간 포맷 생성
    new_time_with_millis = new_time "," datetime_parts[2];
    # 원본 시간 대체
    gsub(a[0], new_time_with_millis);
  }
  print $0;
}'

 

아래와 같이 수정되어 표시됨

 

2024-09-24 13:41:46,996 - gRPC-Langchain RAG SERVER - INFO - FUNCTION_CALL START
2024-09-24 13:41:48,533 - gRPC-Langchain RAG SERVER - INFO - RQA_CONVERSATION : START RETRIEVAL
2024-09-24 13:41:50,397 - gRPC-Langchain RAG SERVER - INFO - FUNCTION_CALL : skin_trouble / Retrieved 5 documents
2024-09-24 13:41:50,447 - gRPC-Langchain RAG SERVER - INFO - STREAMING START
2024-09-24 13:41:52,999 - gRPC-Langchain RAG SERVER - INFO - STREAMING END
반응형

댓글