
Security News
Nx npm Packages Compromised in Supply Chain Attack Weaponizing AI CLI Tools
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Remote tail Salesforce Commerce Cloud logs via webdav. Allow to monitor more logs at once, merging the content of all the files in a single stream. Reports either to console or a FluentD collector.
$ npm i -g cctail
Requires one of the following configuration files:
log.conf.json
file with multiple environments configured. This may be used if you want to easily switch between multiple instancesdw.json
file, tipically pointing to your working sandbox.cctail
requires a correctly configured API client id/secret OR Business Manager username/password for accessing logs via webdav. API client authentication is recommended, because it is faster after the initial authorization, and Business Manager authentication to WebDAV has been deprecated by SalesForce.
"profiles"
:
- Standard log types: analytics
, api
, console
, customdebug
, customerror
, customfatal
, custominfo
, customwarn
, dbinit-sql
, debug
, deprecation
, error
, fatal
, info
, jobs
, migration
, performance
, quota
, sql
, staging
, sysevent
, syslog
, warn
"log_types": ["log", "types", "array"]
(default: all log types) - In non-interactive mode, defining this will limit the log types that cctail collects to this list.
analytics
, api
, codeprofiler
, console
, customdebug
, customerror
, customfatal
, custominfo
, customwarn
, dbinit-sql
, debug
, deprecation
, error
, fatal
, info
, jobs
, migration
, performance
, quota
, sql
, staging
, sysevent
, syslog
, warn
"polling_interval": nnn
(default: 3
) - Frequency (seconds) with which cctail will poll the logs.
"refresh_loglist_interval": nnn
(default: 600
) - In non-interactive mode, this is the frequency (seconds) in which cctail will check the WebDAV server for new logs that match your log_types
criteria."interactive": true|false
(default: true
) - Interactive mode asks which logs you will want to tail. If false
, cctail will tail all of today's logs by default.NOTE: All configurations for fluentD are optional, except enabled
must be set to true
if you want to use it.
fluent
:
"enabled": true|false
(default: false
) - If enabled, logs will be directed to the Fluent collector."host": "fluentd.yourco.com"
(default: localhost
) - FluentD collector host"port": nnn
(default: 24224
) - FluentD collector port"reconnect_interval": nnn
(default: 600
) - If the collector can't be reached, cctail will try to reconnect again in nnn
seconds."timeout": nnn
(default: 3
) - Timeout to connect to FluentD collector"tag_prefix": "your_tag_prefix"
(default: sfcc
) - All logs sent to FluentD will have this prefix, followed by the log type (i.e. "sfcc.customerror").Sample dw.json:
{
"hostname": "dev01-mysandbox.demandware.net",
"client_id": "a12464ae-b484-4b90-4dfe-17e20844e9f0",
"client_secret": "mysupersecretpassword"
}
Sample log.conf.json:
{
"profiles": {
"dev01-api-client-example": {
"hostname": "dev01-mysandbox.demandware.net",
"client_id": "a12345ae-b678-9b01-2dfe-34e56789e0f1",
"client_secret": "mysupersecretsecret",
"polling_interval": 30,
"refresh_loglist_interval": 900
},
"dev02-bm-example": {
"hostname": "dev02-mysandbox.demandware.net",
"username": "user@yourco.com",
"password": "mysupersecretpassword",
"log_types": [ "customerror", "customwarn", "error", "jobs", "warn" ],
"polling_interval": 60
}
},
"interactive": false,
"fluent": {
"enabled": true
}
}
If multiple instances are configured, you may directly pass the name of the instance for skipping the interactive selection prompt, e.g.:
$ cctail dev02
The API client id must be created in the account.demandware.com console. Before being able to use cctail
you must grant the required permissions to that client id for accessing the logs folder through WebDAV in any target SFCC instance.
To do so, access Business Manager and add the following to Administration -> Organization -> WebDAV Client Permissions, replacing the client_id value with your client id. Note: you may need to merge these settings with existing ones.
{
"clients": [
{
"client_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"permissions": [
{
"path": "/logs",
"operations": ["read_write"]
}
]
}
]
}
$ cctail
Run cctail
in a folder containing either a log.conf-json or dw.json config file.
The tool will display the list of available logs in order to let you interactively select the ones you want to monitor.
Released under the MIT license.
v1.6.0 (2022/08/22)
FAQs
Salesforce Commerce Cloud logs remote tail
The npm package cctail receives a total of 17 weekly downloads. As such, cctail popularity was classified as not popular.
We found that cctail demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.