log lens
JetBrains Marketplaceplugin 33416free viewer, Pro subscription
Log Lens opens a multi-gigabyte production log in IntelliJ IDEA and the other JetBrains IDEs. We leave the text editor alone, so the log's own tab stays open and writable and the Log Lens tab sits next to it. Lines are indexed by byte offset in the background and read on demand, so the log opens at once; the index of offsets is what stays in memory, not the file. Levels are detected and counted over the whole file, the format is recognized on its own (plain text, JSON lines or logfmt), ANSI escape codes render as colors, and follow mode tails the file as it grows. Pro filters the whole file by level, field, time and text, follows that filter live, charts the levels over time and writes the lines out as .log, JSONL, CSV or Parquet.
- opens
- .log files, rotated .log.N files and .log.gz; a .txt or .out file stays where it was
- runs on
- IntelliJ IDEA, PyCharm and every IntelliJ-based IDE from 2024.2 on
- store
- JetBrains Marketplace, plugin 33416
- newest version
- 1.7.0, published 2026-09-09
- pro
- a subscription with its own 30-day trial; the price is quoted below as the store shows it

free
- Any size: a streaming line index, an instant first screen, browse while indexing runs
- Log levels: ERROR, WARN, INFO, DEBUG and TRACE detected, colored and counted over the whole file, with a chip per level
- Format detection: JSON lines, logfmt and plain text, with nothing to configure
- ANSI colors: the escape codes in a container or CI log show as colors and bold, never as garbage
- Follow mode: tail the file as it grows, rotation-safe
- Jump to source: stack-trace lines link straight into your project
- Find in file: full-text search with next and previous jump and a match count
- Compressed logs: .log.gz opens transparently, with the temp space it needs named before the wait
- Timestamps: ISO stamps, dotted day-first dates, year-first dates and Apache access-log stamps all carry their time
- Encodings: EUC-KR, Shift_JIS and the Polish code pages detected on open, with an Encoding selector in the toolbar
- Compare: a log with siblings like app.log.1 opens beside them, read side by side
- Themes: twelve looks for the level and ANSI colors; trying one is free for the open window
pro
- Filtered follow: tail only the errors, or only the lines matching your query, live
- Filter queries: keep only the lines matching level, field, time and text predicates, scanned across the whole file, then browse just the matches
- Export: write the current page, the filtered view, the search matches or the query matches to a new .log, .jsonl, CSV or Parquet file; in Parquet the parsed fields become typed columns and the raw line rides along
- Log statistics: a per-level time histogram over the whole file with span and rate, so the minute the errors clustered is visible
- Kept themes: a chosen look stays set from file to file
price, as the store shows it
Pro is $1.90 a month or $19 a year for individual use, $3.90 or $39 for organizations. A year of continuous subscription earns JetBrains' perpetual fallback license: the version available when that year started stays yours for good, including its fixes. Each Lens plugin comes with its own free 30-day Pro trial.
where it stops
- No editing: the log is never modified, truncated or rotated
- Local files only: no ssh tailing, no aggregation, no shipping
- No alerting: the Pro filtered follow shows matching lines live, it does not notify or page
- Text formats only: JSON lines, logfmt and plain text; binary formats are not parsed

what's new
- 1.7.0published 2026-09-09
Export to Parquet, a Pro action. Pick a .parquet name in the Export Lines dialog, whose filter reads Log, JSONL, CSV or Parquet, and the current page, the filtered view, the search matches or the query matches are written as one Parquet file. The columns are the ones the CSV export has, $level, $time and $message first and then one column per parsed field in the order the fields first appear, and a $raw column at the end holds each line exactly as it was read, so nothing the parser did not understand is lost. Each field column takes its type from its values: a number written as an integer becomes int64, any other number double, true and false booleans, text stays text, a nested object or array is written as JSON text, a line without the field leaves a null, and a field that mixes kinds is written as text. $time is text in this cut. The open file is refused as a destination, "That is the open file. Pick another name.", as it is for every export, and a cancelled export leaves no file behind, not even the scratch file the writer keeps beside the destination while it works. When the export finishes, the balloon offers Open exported file, and the file lands in Parquet Lens when that is installed. The Theme picker has two more entries at the end, lamplighter and catacombs, each with a padlock and its own line in the open list, "unlocks when you share Lens with a colleague" and "unlocks the first time Pro runs for you". Pick a locked one and the plugin opens the way to earn it. For lamplighter that is the share card, also under Help as Share Log Lens: the marketplace page, the family page and a referral code of this install's own. Copy share card earns the theme here; a colleague who types the code into their own share card, reached by picking lamplighter in the Theme picker, and presses Unlock with code earns it on their side. Catacombs opens the first time Pro runs for you, a trial included. An earned theme stays whatever the license says. Four night themes join the picker, Duskhollow, Abyss, Obsidian and Moonlit Garden; trying one is free for the open window and keeping it is Pro, like the eight.
- 1.6.0published 2026-09-09
Polish logs in Windows-1250, ISO-8859-2 or CP852 open with their letters intact, and the Encoding menu lists each of them. Opening a compressed log now says what the wait will cost: a .log.gz is decompressed to a temporary file before its first line can show, and the note under the file reads "Decompressing" with the file name and the temp space it needs, and "to at least" that space when the gzip container can only prove a floor. That floor is stated only when it stands at or above the compressed size, since a smaller one reads as nonsense, and an exact size is always stated. The footer of a one-line file now says "1 line", and a single search hit reads "1 / 1 matching line".
- 1.5.1published 2026-09-07
A trial key now unlocks Pro only through the trial's last day. Through the JetBrains account flow a trial arrives as a signed license key carrying "trial": true and the end date in paidUpTo; Log Lens verified the signature and nothing else, so the key kept Pro open after the trial ran out. The lapsed key also looked like a paid license from the inside, which is why the "Log Lens Pro trial has ended" notice never showed while the "Log Lens Pro is active" thank-you went to someone who had not paid. Paid keys and the perpetual fallback licenses read as before, and the offline trial, the kind without an account, was never affected: its stamp carries its own expiry. Export gains the narrowed view. With the level chips set to ERROR, Export used to offer the current page alone, one page a save; the menu now adds "Filtered view (12,408 lines)", the whole narrowed set, and skips it when the page or the query matches already hold exactly those lines. Opening app.log.3.gz reads the gzip container before any temp file is written. If the temp directory cannot hold the decompressed size, the open is refused at once with "Not enough temp space: this file expands to at least 8.20 GB" and the free-space figure. Before, the same file failed only after the whole decompression had run.
more
Pricing, invoices and licensing questions go to [email protected]; anything else about the product to [email protected].