블로그(blog), 브이로그(vlog), 그리고 컴퓨터에 접속할 때의 ‘로그인(log in)’. 이 익숙한 말들 안에는 공통으로 ‘로그(log)‘가 들어 있습니다. 그런데 이 단어의 뿌리를 거슬러 올라가면, 뜻밖에도 망망대해를 항해하던 옛 돛단배에 이릅니다. 딱딱한 기술 이야기를 꺼내기 전에, 잠깐 이 돛단배 이야기를 해볼까요?
먼바다에서 배의 속도를 알 길이 없던 시절, 선원들은 한 가지 방법을 고안했습니다. 통나무 조각 하나를 일정한 간격으로 매듭을 묶은 밧줄에 매달아 배 뒤로 던지는 것입니다. 그리고 정해진 시간 동안 손에서 풀려나간 매듭의 수를 세어, 배가 얼마나 빠른지를 가늠했습니다. 바로 이 통나무 조각을 ‘log’라 불렀습니다. 배의 속도 단위인 ‘노트(knot)‘가 다름 아닌 그 밧줄의 ‘매듭(knot)‘에서 나왔다는 사실은, 이 방법이 얼마나 오래 쓰였는지를 말해줍니다.
선원들은 이렇게 측정한 속도와 그날의 항해를 책에 적어 남겼고, 그 책을 ‘log book(항해 일지)‘이라 불렀습니다. 시간이 흐르며 통나무를 뜻하던 log는, 그 통나무로 재어 적은 ‘기록’ 자체를 가리키는 말이 되었습니다. 오늘날 우리가 쓰는 블로그도, 브이로그도, 로그인도, 거슬러 올라가면 그 옛날 바다에 던져진 통나무 한 조각의 정신을 이어받은 것입니다. 그리고 개발자들이 매일 남기는 ‘로그’ 역시, 정확히 같은 핏줄을 잇고 있습니다. 무언가가 거쳐온 길을 시점마다 적어 남긴다는, 그 항해 일지의 정신을 물려받은 것입니다.
일은 끊임없이 일어나지만, 대부분은 흔적 없이 지나갑니다. 오늘 아침 몇 시에 무슨 생각을 했는지, 어제 점심에 정확히 무슨 말을 했는지, 지난주 그 결정을 왜 그렇게 내렸는지. 분명 일어난 일인데, 적어두지 않은 그것들은 어느새 안갯속으로 사라집니다. 그리고 정작 나중에 “그때 대체 무슨 일이 있었지?” 하고 되짚어야 할 순간이 오면, 우리에게 남은 것은 흐릿한 기억의 조각뿐입니다. 개발자들은 이 망각의 문제를, 저 항해 일지의 후손인 ‘로그’로 다스립니다.
아무도 읽지 않는 기록
개발자가 남기는 로그란, 프로그램이 돌아가는 동안 자기가 지금 무슨 일을 하고 있는지를 시점마다 한 줄씩 적어 남기는 것입니다. “몇 시 몇 분, 사용자가 로그인을 시도함.” “결제 요청을 받음.” “어떤 값이 들어와 오류가 발생함.” 프로그램은 묵묵히, 자기가 거쳐온 순간들을 일지처럼 적어 내려갑니다. 망망대해를 지나는 배가 항로를 적어두었던 것처럼요.
대부분 평소에는 이런 기록을 들여다보지 않습니다. 모든 일이 순조로울 때 로그는 그저 쌓이기만 할 뿐, 누구의 눈길도 받지 못합니다. 쓸모없어 보이기까지 합니다. 그러나 어느 날 문제가 터지면, 이 기록들은 아주 소중해집니다. 개발자는 그제야 이 기록을 거꾸로 읽어 내려가며, 사고가 나기까지 무슨 일이 있었는지를 한 줄 한 줄 복원합니다. 비행기의 블랙박스가 사고가 난 뒤에야 펼쳐지듯이 말입니다.
지나가면 기록만 남는다
여기에 로그만의 독특한 운명이 있습니다. 로그가 다루는 것은 이미 지나가버려, 다시 불러올 수 없는 과거라는 사실입니다.
문제가 눈앞에 살아 있다면, 개발자는 그것을 붙잡고 이리저리 살펴볼 수 있습니다. 그러나 어떤 문제는 한순간 스쳐 지나가고 다시는 똑같이 재현되지 않습니다. 특정한 시각, 특정한 사용자, 특정한 조건이 우연히 겹쳤던 그 찰나는 이미 끝났고, 되돌릴 수 없습니다. 비슷하게 재현한다 하더라도 이미 그 시점은 지나가버렸기에 동일한 원인으로 문제를 모사할 뿐입니다. 그 순간에 대해 우리가 알 수 있는 것은, 오직 그때 적어둔 기록뿐입니다. 적어두지 않았다면? 그 일은 영영 확인할 수 없는 채로 남습니다. 분명히 일어나기는 했지만, 그 안에서 정확히 무슨 일이 있었는지는 흐릿한 정황으로 더듬어 추정하는 수밖에 없습니다. 일어났다는 사실은 그대로인데, 그 내용만은 두 번 다시 되살릴 수 없게 되는 것입니다.
무심코 남긴 한 줄
제게도 그런 경험이 있습니다. 언젠가 코드를 짜면서, 별 기대 없이 습관처럼 로그 한 줄을 남겨둔 적이 있습니다. 사실 로그를 남겼다기보다는, 출시 전에 그 거추장스러운 로그를 지우는 걸 깜빡했습니다.
몇 달이 지나, 도무지 원인을 알 수 없는 문제가 터졌습니다. 어디서부터 잘못된 것인지 짐작조차 가지 않았고, 살펴볼 수 있는 단서는 모두 막다른 길이었습니다. 한참을 헤매다 마지막으로 로그를 뒤지던 중, 그때 무심히 남겨두었던 바로 그 한 줄을 발견했습니다. 그 한 줄이 그 순간 무슨 일이 있었는지를 정확히 말해주고 있었습니다. 며칠을 잡아먹었을 문제가, 과거의 내가 별생각 없이 남겨둔 흔적 하나로 단번에 풀린 것입니다.
기록의 가치는 이렇듯 상황에 따라 다르게 보입니다. 기록은 남기는 그 순간에는 거의 언제나 무의미해 보이곤 합니다. 지금 당장 필요하지 않으니까요. 그러나 기록의 진짜 쓸모는 현재에 있지 않습니다. 그것은 아직 오지 않은 어느 위기의 순간을 위해, 지금 미리 남겨두는 단서입니다. 먼 훗날 과거를 되짚어야 할 미래의 나를 위해, 지금의 내가 앞당겨 적어두는 것입니다.
물론 그렇다고 모든 것을 다 적어둘 수는 없습니다. 사소한 것까지 빠짐없이 기록하면, 정작 중요한 한 줄이 수많은 잡음 속에 묻혀 보이지 않게 됩니다. 그래서 잘 기록한다는 것은 빠짐없이 적는 일이 아니라, 무엇이 나중에 중요해질지를 미리 헤아려 가려 남기는 일에 가깝습니다.
기억은 흐려지고, 기록은 남는다
우리가 무심히 남기는 것들을 떠올려봅니다. 별생각 없이 쓴 일기 한 줄, 영수증, 주고받은 메시지, 무심코 찍은 사진. 남길 때는 그것이 무슨 의미가 있나 싶습니다. 그러나 시간이 흐른 뒤, 어떤 일을 다시 마주해야 할 때, 우리를 구해주는 것은 흐릿한 기억이 아니라 바로 그 사소한 기록입니다. “그때 내가 정말 그랬나?” 싶은 일도, 남겨둔 기록은 정확히 알고 있습니다. 기억은 흐려지고 미화되고 사라지지만, 기록은 그 순간의 사실을 가공 없이 붙들어둡니다.
그러니 무언가를 기록한다는 것은 미래의 자신에게 보내는 편지라고 볼 수도 있습니다. 지금은 그 쓸모를 알 수 없지만, 언젠가 길을 잃은 미래의 내가 이 흔적을 더듬어 돌아올 수 있도록 미리 놓아두는 표식 역할을 합니다.
사라지는 것은 너무나 많고, 우리의 기억은 너무 쉽게 흐려지고 미화됩니다. 그 사이에서, 그때 적어둔 한 줄만이 그 순간의 사실을 가공 없이 그대로 남깁니다. 그래서 먼 훗날 “그때 대체 무슨 일이 있었지?” 하고 되물을 때, 흐려진 기억을 대신해 그 한 줄이 또박또박 일러줍니다. 그때, 정확히 무슨 일이 있었는지를.
이 글도 저에게는 또 하나의 로그라고 볼 수 있겠습니다. 단지 이번에는 늘상 하던 것처럼 코드 위에서가 아니라 새하얀 노트에 그 기록을 남길 뿐입니다. 이 기록이 쓸모가 있을지 없을지는 미래가 오기 전까지는 모르지만요.
댓글 (0)
아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요.