把 log 或文字檔拖到這裡
不限大小。也可以點一下選擇檔案。目前還不支援 .gz 檔。
開啟記事本和 VS Code 都投降的 3 GB log:立刻捲動、搜尋、像 grep 一樣篩選、一行一行讀 JSONL。什麼都不會上傳。
檔案會從你的硬碟分段讀取。建立索引、搜尋和匯出都在這個分頁裡完成——不上傳、不用帳號、伺服器上也沒有副本。
把 log 或文字檔拖到這裡
不限大小。也可以點一下選擇檔案。目前還不支援 .gz 檔。
伺服器 log 有 3 GB,02:14 左右出了事。記事本直接卡死,VS Code 先警告再停住,而你也不想只為了跑個 grep 就把檔案 scp 來 scp 去。這個頁面是大型文字檔檢視器:.log、.txt、.jsonl、.ndjson、.csv、.json——只要是瀏覽器交得出來的文字檔,多大都能開,而且從不把整個檔案讀進記憶體。第一行馬上就能捲,可以跳到某一行、某個百分比或檔尾,搜尋一個 request id 並看到每個命中前後的行,或者只顯示 WARN 行再另存成新檔。
檔案依需求一片一片讀。背景 worker 把檔案走過一遍,建立稀疏的行索引——每 1,024 行一筆——所以頁面從來不需要把整個檔案放進 RAM。索引還在建的時候捲軸依位元組位置運作,建好之後改依行號,跳到第 N 行就是準確的。字元編碼從前 64 KB 自動偵測(UTF-8、UTF-16 LE 與 BE、Big5、GBK、Shift_JIS、EUC-KR、Windows-1252),猜錯可以手動改。單一超長行——例如壓成一行的 500 MB minified JSON——最多顯示 1 MB 並標示為已截斷,後面的行號照樣正確,頁面不會因此當掉。
搜尋接受純文字(可選是否區分大小寫)或 JavaScript 正規表示式。檔案一塊一塊掃,結果找到就陸續出現;點一下就跳過去並帶出前後的行。Stop 按鈕能立刻中止搜尋——就算正規表示式失控也一樣——而且不會弄丟行索引。篩選檢視只顯示符合的行,或像 grep -v 一樣只顯示不符合的行,最多列出 5,000,000 筆,超過會告訴你。log 等級自動上色:ERROR、WARN、INFO、DEBUG、TRACE、FATAL 這些字、syslog 的 <N> 優先序、JSON log 的 level 或 severity 欄位(含 pino 與 bunyan 的數字等級)、logfmt 的 level= 和 Android logcat,還有一鍵「WARN 以上」。前 20 行全是 JSON 物件或陣列時,頁面會切到 JSONL 模式,任何一行都能展開成樹狀——只解析那一行。篩選後的行可以匯出成新檔:Chrome 和 Edge 直接串流寫進你選的檔案,其他瀏覽器則在記憶體裡組起來,超過 512 MB 會先警告。
這個版本沒有全文索引,所以每次搜尋都把檔案從頭到尾重讀一遍,速度看你的磁碟。這是唯讀檢視器:要改位元組請用 Hex Editor 開。.gz 還沒支援——請先解壓縮。正規表示式用的是 JavaScript 語法,不是 grep 或 PCRE,所以 possessive quantifier 之類的功能沒有。單一巨大的 JSON 文件——整個檔案就是一個物件或陣列——會以文字顯示、可以搜尋,但不會畫成樹狀。
什麼都不上傳。檔案在你自己的裝置上一片一片讀取,索引、搜尋結果和篩選全都留在分頁裡。沒有伺服器參與,關掉分頁就是全部的清理。
一般編輯器會把整個檔案讀進記憶體並建立編輯緩衝區,幾 MB 沒問題,幾 GB 就沒救了。這個頁面不這麼做:它只讀你正在看的那一片,在背景 worker 裡建行位置索引,再一塊一塊搜尋,所以檔案大小只影響整份搜尋要跑多久,不影響開不開得起來。
不會。瀏覽器從你的磁碟一片一片讀檔,建索引、搜尋、篩選全都在分頁裡跑。沒有伺服器,也沒有地方可以送。匯出的篩選結果同樣直接寫到你自己的磁碟。
一行結束在 \n、\r\n 或單獨的 \r。wc -l 只數換行字元,所以最後一行沒有換行的檔案會被它少算一行。這個頁面會把最後那行也算進去,因為那是一行真的讀得到、搜得到的內容。檔案以換行結尾時兩個數字一致;沒有的話,這裡顯示的是 wc -l + 1。
可以。跳到第 N 行、檔案的某個百分比,或直接到檔尾看 tail。背景行索引建好之前,捲動依位元組位置;建好之後行號就是精確的。索引是稀疏的——每 1,024 行一筆——所以就算檔案有幾億行也還是很小。
用篩選檢視:輸入純字串或 JavaScript 正規表示式,選擇顯示符合的行或不符合的行(等同 grep -v)。log 等級有一鍵「WARN 以上」,依每行偵測到的等級判斷——純文字關鍵字、syslog 優先序、JSON 的 level / severity 欄位、logfmt 和 logcat 都算。最多列出 5,000,000 筆符合的行,結果可以另存成新檔。
可以。前 20 行全是 JSON 物件或陣列時,頁面會切到 JSONL 模式,直接當 JSONL 檢視器用。每筆記錄仍然各占一行方便捲動和搜尋,任何一行都能展開成樹狀——只解析那一行,所以幾百萬筆記錄的檔案不會多花任何成本。等級上色讀的是 level 或 severity 欄位,pino 與 bunyan 的數字等級也認得。
這個版本不行。壓縮的 .gz 檔要先解壓縮,而這裡是唯讀檢視器——要改位元組請用 Hex Editor。想依欄位排序、篩選或用 SQL 查詢的 CSV,CSV Explorer 比較合適;Parquet 請看 Parquet Viewer。
一行最多顯示 1 MB 並標示「行太長,已截斷」;其餘部分不顯示,但後面的行號維持正確,所以壓成一行的 500 MB minified JSON 不會讓頁面當掉。單一巨大的 JSON 文件可以當文字搜尋,但不會顯示成樹狀——樹狀檢視只給 JSONL,因為那裡每一行都是獨立的文件。
開啟任何檔案的原始位元組,一個一個改。
試算表開不動的 CSV?篩選、排序,還能用 SQL 查。
欄式儲存的 Parquet 檔,用同樣方式瀏覽和查詢。