텍스트 파일에 로그 데이터를 누적해서 저장하는 자동화 스크립트를 만들고 있습니다. 파일이 이미 존재한다면 기존 내용 뒤에 새로운 내용을 추가하고 싶습니다.
코드:
const fs = require('fs');
const logData = "새로운 로그 기록입니다.\n";
fs.writeFileSync('log.txt', logData);
console.log("저장 완료");
오류: 실행할 때마다 log.txt 파일의 내용이 이전 기록은 사라지고 가장 마지막에 입력한 logData만 남습니다.
시도: 구글링을 통해 writeFileSync 함수를 사용하면 파일이 생성된다는 것을 확인하고 적용해 보았습니다.
질문: 기존 파일의 내용을 유지하면서 새로운 데이터를 끝에 추가하려면 어떤 옵션이나 함수를 사용해야 하나요?
댓글24
-
빗방울
2026.10.31 11:06
-
빗방울
2026.10.31 11:23
ㄹㅇㅋㅋ
이거 모르면 계속 덮어쓰기 함
걍 그게 정답인듯ㅋㅋ
-
빗방울
2026.10.31 12:28
맞음ㅋㅋ 이게 제일 직관적이고 편한 방법인듯ㅋㅋ
-
빗방울
2026.10.31 14:48
ㄹㅇㅋㅋ 그게 제일 깔끔함
함수 이름부터가 딱 정답인듯ㅋㅋ
-
빗방울
2026.10.31 18:05
ㄹㅇㅋㅋ 이게 제일 정석이지ㅋㅋ 함수 이름부터가 답임ㄷㄷ
-
빗방울
2026.10.31 12:12
아니면 writeFileSync 옵션에 { flag: 'a' } 넣어도 될걸요ㅋㅋ 이것도 방법임듯
-
빗방울
2026.10.31 13:20
오 맞네ㅋㅋ 플래그 설정해도 되겠다
근데 걍 appendFileSync 쓰는 게 더 편하지 않나ㅋㅋ
-
빗방울
2026.10.31 13:00
근데 로그 쌓는 거면 나중에 파일 너무 커질 텐데 날짜별로 파일 나누는 것도 생각해보세요ㅋㅋ 그게 관리하기 편함듯
-
빗방울
2026.10.31 14:30
ㄹㅇㅋㅋ 나중에 파일 몇 기가 되면 텍스트 에디터로 열다가 렉 걸려서 빡침ㄷㄷ
처음부터 날짜별로 짜는 게 국룰인듯ㅋㅋ
-
빗방울
2026.10.31 18:23
ㄹㅇㅋㅋ 파일 하나에 다 때려박으면 나중에 검색 하나 하려 해도 한세월임ㄷㄷ
처음부터 파일명에 날짜 넣어서 분리하는 게 진짜 국룰인듯ㅋㅋ
-
빗방울
2026.10.31 19:27
ㄹㅇㅋㅋ 날짜별로 안 나누면 나중에 파일 하나 열 때마다 컴퓨터 멈추는 꼴 볼 수도 있음ㄷㄷ 그게 진짜 국룰인듯ㅋㅋ
-
빗방울
2026.10.31 14:58
근데 동기 함수 쓰면 파일 커졌을 때 프로그램 멈출 수도 있음ㅋㅋ 웬만하면 fs.promises 써서 비동기로 처리하는 게 나을듯ㄷㄷ
-
빗방울
2026.10.31 18:06
ㄹㅇㅋㅋ 동기 함수 썼다가 이벤트 루프 막히면 진짜 답 없음ㄷㄷ
처음부터 비동기로 짜는 게 나중에 덜 고생하는 길인듯ㅋㅋ
-
빗방울
2026.10.31 15:43
윈스톤이나 winston 같은 로그 라이브러리 한번 알아보세요ㅋㅋ
직접 짜는 것보다 기능 훨씬 많아서 편함듯ㄷㄷ
나중에 로그 레벨 나누기도 좋고 개꿀임ㅋㅋ
-
빗방울
2026.10.31 16:25
ㄹㅇㅋㅋ 나중에 서비스 커지면 윈스톤 쓰는 게 정신건강에 이로움ㄷㄷ 처음부터 라이브러리 쓰는 거 추천함ㅋㅋ
-
빗방울
2026.10.31 17:01
글자 인코딩 설정 안 하면 나중에 한글 깨져서 고생할 수도 있음ㅋㅋ
utf8 옵션 꼭 챙겨서 넣으세요ㄷㄷ
-
빗방울
2026.10.31 21:11
ㄹㅇㅋㅋ 이거 생각보다 많이 놓치는데 나중에 메모장으로 열었을 때 글자 다 깨져있으면 진짜 멘붕옴ㄷㄷ 꼭 넣으셈ㅋㅋ
-
빗방울
2026.10.31 17:38
근데 이거 나중에 로그 찾으려면 타임스탬프도 같이 찍어야 될걸요ㅋㅋ
그냥 문자열만 넣지 말고 new Date() 같은 거로 시간 같이 넣어보셈ㄷㄷ 안그러면 언제 찍힌 로그인지 몰라서 개고생함ㅋㅋ
-
빗방울
2026.10.31 18:44
그리고 혹시 모르니 파일 경로 절대경로로 잡으세요ㅋㅋ
상대경로로 짰다가 실행 위치 바뀌면 파일 엉뚱한 데 생겨서 당황할 수도 있음ㄷㄷ
-
빗방울
2026.10.31 20:46
아 맞다 깃허브 같은 데 올릴 거면 .gitignore에 로그 파일 추가하는 거 잊지 마세요ㅋㅋ
안 그러면 로그 파일까지 다 올라가서 커밋 내역 개지저분해짐ㄷㄷ
-
빗방울
2026.10.31 21:33
ㄹㅇㅋㅋ 이거 깜빡하고 올렸다가 나중에 로그 파일 용량 때문에 푸시 안 돼서 당황한 적 있음ㄷㄷ
꼭 넣으세요ㅋㅋ 진짜 필수임ㅋㅋ
-
빗방울
2026.10.31 21:26
근데 이거 나중에 파일 권한 문제 생길 수도 있음ㅋㅋ
관리자 권한 없어서 저장 안 되면 개빡치니까
그거 미리 체크해보는 게 좋을듯ㄷㄷ
-
빗방울
2026.10.31 21:48
근데 이거 나중에 로그 너무 많아지면 grep 같은 걸로 검색하는 법도 미리 알아두세요ㅋㅋ
그게 진짜 편함ㄷㄷ
-
빗방울
2026.10.31 22:24
나중에 로그 양 많아지면 파일 용량 제한 걸릴 수도 있음ㅋㅋ
파일 사이즈 체크해서 일정 크기 넘어가면 새로 만드는 로직도 추가해보셈ㄷㄷ
안 그러면 디스크 꽉 차서 서버 뻗을 수도 있음ㅋㅋ
모든 이야기1496
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
writeFileSync 말고 appendFileSync 써보세요ㅋㅋ 그거 쓰면 뒤에 계속 붙음.