Intellij SFCC reads SFCC logs as their own language, SFCC Log. A log you open from Log Files or from disk gets level colours, folded stack traces and links from paths, routes and services to your code. The Log Center shows its log text the same way, in a read-only log viewer
Which files are SFCC logs
A .log file is an SFCC log when its name matches one of these patterns, in the letter case shown. Other .log files stay plain text
| Pattern | Files |
|---|---|
error-*.log, warn-*.log, info-*.log, debug-*.log | The platform's level logs |
custom*.log | customerror, customwarn and the other custom logs your code writes with dw/system/Logger |
api-deprecation-*.log | Calls of deprecated Script API |
quota-*.log | Quota warnings and limits |
service-*.log | Service calls |
jobs-*.log | Job runs |
analyticsengine-*.log, sysevent-*.log, syslog-*.log, staging-*.log, jceproviderusage-*.log, jceProviderUsage-*.log | Other platform logs |
*-blade*.log | Any instance log named after its application server, such as error-blade3-4-appserver-20261029.log |
To read another file as an SFCC log, add its pattern to SFCC Log in Settings › Editor › File Types
File icons
In the Project view, editor tabs and Recent Files, an SFCC log shows the icon of its kind. The kind comes from the name before the server and the date
| Icon | Files |
|---|---|
| Error | error, customerror and scapi-timeout logs, and custom logs whose name holds error, exception or timeout |
| Warning | warn, customwarn and api-deprecation logs, and names that hold warn or deprecation |
| Info | info and custominfo logs, and names that end with info |
| Debug | debug and customdebug logs, and names that hold debug |
| Services | service and services logs, and names that hold service |
| Jobs | jobs logs, and names that hold job |
| Quota | quota logs, and names that hold quota |
Other logs, such as custom-payment-blade4-6-0-appserver-20261029.log, keep the plain text icon
Colours
Each part of an entry has its own colour. Change them in Settings › Editor › Color Scheme › SFCC Log, which shows a sample log. Light, dark and high contrast schemes have their own defaults
| Group | Entries |
|---|---|
| Timestamp | The time an entry starts with |
| Level | ERROR, FATAL, WARN, INFO, DEBUG, Deprecation kind and Error and fatal lines on the scroll bar |
| Header | Thread, Separator, Field, Site, Controller route, SCAPI path, HTTP method, Session and request ids and Logger |
| Message | The message text |
| Stack trace | Exception, Caused by, Platform frame, at, Function, Stack trace definition and Stack trace reference |
| Source | Script or template path and Line number |
| Sections | Title, Rule, Key, Value, Parameter name and Parameter value |
| JSON, URL, Deprecated API member, Quota name, Suppressed count | Those parts of a message |
| Links | Resolved link and Unresolved path or route, see Links to code |
| Highlighted line | The line a log viewer jumps to. It uses the search result colour by default |
Error marks
Each ERROR and FATAL entry gets a mark on the scroll bar, up to 2,000 per file. Click a mark to go to its entry. Its colour is Level › Error and fatal lines on the scroll bar
Folding
Long parts of an entry fold, so each entry reads in a few lines. Click a fold to open it, or use Code › Folding. Collapse All leaves one line per entry
| What folds | Shows as | Folded when the log opens |
|---|---|---|
Three or more platform frames in a row, with their ... 84 more | … 4 platform frames | Yes |
A section such as System Information or Request Information | Request Information (2 lines) | Yes |
Request Parameters and Headers: | 2 parameters | Yes |
| An entry's lines after its first | … 12 lines | No |
| JSON longer than 120 characters on one line | {…} or […] | No |
| The header fields between the level and the message, when they take 24 characters or more | The site and the route, else the job, else the logger, up to 48 characters | Yes |
A folded header keeps what you scan for. The site loses its Sites- and -Site, a SCAPI path keeps its HTTP method and last parts, such as POST shop/baskets, and a dotted logger keeps its last name:
[2026-10-28 09:14:02.118 GMT] ERROR PipelineCallServlet|1712|Sites-Example-Site|Cart-AddProduct|PipelineCall|ab12Cd34Ef custom.cart [] Cannot add product
[2026-10-28 09:14:02.118 GMT] ERROR Example · Cart-AddProduct Cannot add product- A section ends at a blank line or at the next stack heading, such as
Caused by:, which stays in view - A log holds up to 50,000 folds. Past that, entry folds go first, then the headers at the start of the log, so the newest entries keep theirs
Links to code
Paths, routes, hooks, services and other names in a log are links. Cmd+Click (Ctrl+Click) one, or put the caret on it and press Cmd+B (Ctrl+B) for Go to Declaration
| Link | Looks like | Opens |
|---|---|---|
| Script path | app_custom/cartridge/scripts/cart.js:36, modules/server/route.js:69, or app_custom:scripts/util.ds | The file at that line. Paths to .js, .ds, .isml, .xml, .yaml and .yml files link |
| Template | [Template:checkout/confirmation]#12 | The template at that line, under its locale folder |
| Controller route | Cart-Show in the header, top pipeline Checkout-Begin | The route in its controller |
| Custom API | A SCAPI path under /custom/ | The API's operation for that path and HTTP method in its schema, else its api.json entries |
| Hook | dw.ocapi.shop.basket.beforePOST | The hook's hooks.json entry and its script |
| Service | service.payment.HEAD, service=payment, Service payment failed | The service's service-id in services.xml |
| Job | Job [ExportOrders], or the job and step of a job thread | The job and its step in jobs.xml |
| Script API | dw.crypto.MessageDigest@digest | The class or member in the Script API |
| Stack trace reference | Stack trace <ref:0f1e2d3c…> | The Stack trace <0f1e2d3c…> the platform wrote in full, in the same log |
| Custom logger | custom.cart | The Logger.getLogger calls that name the category |
| URL | https://… | The page in your browser |
- Script paths, templates and routes that match nothing in the project show in the error colour, Links › Unresolved path or route
- A link with several targets lets you pick one
- Links need a valid license or trial, see License
- Links into project code open nothing until the IDE finishes indexing
- Links work in big logs too, see Large logs
Quick documentation
Put the caret on a part of an entry and press F1 (Ctrl+Q), or rest the pointer on it
| On | Shows |
|---|---|
| The time | Log entry: Time, Level, Thread, Site, Request, Session and request ids, Logger and Lines, counted up to 10,000 |
| The level | Log level and what it means. DEBUG, for example, is written only when the instance's log settings set the category to debug |
| A suppressed notice | Suppressed message: how often the message was logged, in how many seconds, and how long the platform drops its copies |
| A quota name | Quota: whether it's enforced, so a call over the limit fails, or only logged, then Warning threshold, Limit, Exceeded with its value and count, and Highest value |
| A stack trace reference | Stack trace with its first 12 lines, then … 30 more lines. When the log doesn't hold it, a note says the platform writes it in full only once, with the first entry that has it |
| A link | Its kind, its Line, Member, Step or HTTP method, and In this project: with up to 10 places and their cartridges, Not in this project, or The places show when indexing is done. |
Documentation of links needs a valid license or trial
Structure and breadcrumbs
The Structure tool window, Cmd+7 (Alt+7), and the File Structure popup, Cmd+F12 (Ctrl+F12), list a log's entries in file order, which is time order. Each shows its level icon, time and message, with the logger in grey
- Group by Level sorts them under ERROR with FATAL, WARN with deprecations, INFO, DEBUG and Other
- The first 5,000 entries show, then … 1,204 more entries
- Type in File Structure to find an entry by its message
The breadcrumbs under the editor show the entry at the caret, such as 09:14:02.118 ERROR custom.cart, then its section, such as Request Information. Rest the pointer on the entry for its message. With the IDE's sticky lines on, the entry and section stay at the top of the editor while you scroll through them
JSON in messages
Each {…} or […] on a line, up to 64 KiB, is read as JSON and coloured as JSON. Syntax errors and JSON inspections stay off in logs. Escaped JSON, such as {\"id\":1}, stays text. JSON longer than 120 characters folds, see Folding
Large logs
Two IDE limits decide what a big log gets
| Size | What you get |
|---|---|
| Up to the code insight limit, 2.5 MB by default | Everything on this page |
| Up to the content load limit, 20 MB by default | Colours, folds, link colours, error marks, Go to Declaration and quick documentation. Folds and links follow edits 300 ms after the last change, and up to 20,000 links are coloured. No structure, breadcrumbs or JSON |
| Above it | The IDE's large file viewer, as plain text. Parse the file with Add Local File in the Log Center instead, see Local files |
The limits are the IDE properties idea.max.intellisense.filesize and idea.max.content.load.filesize, in kilobytes. Change them with Help › Edit Custom Properties…, then restart the IDE
Open in Log Center
A log in the editor offers to go into the Log Center, where you search it with other logs and see its issues and charts
| Shows | When |
|---|---|
| A banner, Search this log and see its issues and charts in the Log Center, with Open in Log Center and Hide | On an SFCC log, or on any .log downloaded from an instance with Download and Open, while a license or trial is active and the plugin knows the instance |
| A floating Open in Log Center button at the editor's top right | On the same logs, in the main editor |
- Open in Log Center parses the file into the Log Center and shows its events. If the parse can't start, it opens Files
- A downloaded log opens in the tab of the instance it came from, whichever connection is active. Other logs open in the tab of the project's instance
- The button's tooltip names the instance: Parse this log into the Log Center of zzrx-001.dx.commercecloud.salesforce.com and show its events
- Hide hides the banner for that file until the IDE restarts. The button stays
Eschides the button until the editor shows again, for example after you switch tabs
The log viewer
The Log Center shows log text in a read-only log viewer, with the colours, folds and links of the editor
| Tab | Shows |
|---|---|
| Entry of an event | The entry, with the stack trace it refers to added after it |
| Around | 25 entries before and after the event in its file |
| Request | Every entry of the event's session, in every file, oldest first, up to 2,000 |
| Log of an event or an issue | The issue's newest 200 events, oldest first, so the latest is last |
| Latest entry of an issue | The issue's newest event |
| Selection (3) | The selected events in time order, up to 5,000 |
| Button | What it does |
|---|---|
| Previous Error, Next Error | Moves the caret to the previous or next ERROR or FATAL entry |
| Expand Platform Frames, Collapse Platform Frames | Opens or closes every run of platform frames |
| Soft-Wrap | Wraps long lines |
| Copy Entry | Copies the entry at the caret |
- The title names the log. Line numbers are the log's own when the text is one stretch of one file, such as Entry or Around, and start at 1 otherwise
- The viewer goes to the event you picked and marks its line in the Highlighted line colour
- A plain click opens a link, no Cmd (Ctrl) needed. With several targets, a list such as 3 targets lets you pick one. With none, a hint reads Nothing in the project matches this link
- Up to 2 MB of text shows. When a tab leaves events out, a note reads 1,204 events shown, the rest are left out
- The store no longer holds this text means the events were removed, for example by the age or size limits in Settings
Tail tab
Tail in Editor Tab opens a tailed file in a tab such as Tail: error-blade3-4-appserver-20261029.log, a log viewer that grows, see Tail in an editor tab
- It starts with the file's newest 200 events, then adds new lines as the tail reads them, at most every 100 ms
- It follows the end. Scroll up to stop following, and scroll back to the end to follow again
- Pause stops adding lines. Turn it off to add the lines that arrived meanwhile
- Clear empties the tab. Line numbers keep counting
- The tab keeps the last 8 MB of text and drops the oldest lines. Line numbers keep counting
- When the file is cleared or parsed again, the tab starts over with its newest 200 events
- The line under the toolbar shows the host, Tailing, Paused or Not tailed: start Tail in Files, and the count, such as 1,204 events
- Show in Log Center shows the file's events in Events. The tab isn't reopened with the project
Troubleshooting
| Symptom | What to do |
|---|---|
A .log file opens as plain text | Its name matches no pattern, or differs in letter case, see Which files are SFCC logs. Add its pattern to SFCC Log in Settings › Editor › File Types |
| Links don't open | Activate a license or trial, see License. While the IDE indexes, wait for it to finish |
| A path or route shows in the error colour | Nothing in the project matches it: the file isn't in a cartridge of this project, or the route was renamed |
| No structure, breadcrumbs or JSON colours | The log is above the code insight limit, see Large logs |
| The log opens as plain text in the large file viewer | It's above the content load limit. Parse it with Add Local File in the Log Center |
| No Open in Log Center banner | It needs a license or trial and an instance: the project's connection, or the instance the file came from. After Hide it comes back when the IDE restarts |
| The Open in Log Center button is gone | Esc hid it. Switch to another tab and back |
| The tail tab stopped moving | You scrolled up, or Pause is on. Scroll to the end, or turn Pause off |
| The structure ends with … 1,204 more entries | It lists the first 5,000 entries. Search the rest in the Log Center |