The activity log answers the question you ask when something goes wrong: what happened, and what should I do? It lists the notable events of your gateway in plain sentences, with the cause and a piece of advice for every warning and error.
Open it from Activity log, in the System section of the menu.
What it shows
| Category | Examples of entries |
|---|---|
| Messages | An SMS could not be sent after its attempts, with the reason reported by the phone |
| Devices | A phone was paired, connected, stopped answering, has a low battery |
| Campaigns | A campaign started, was paused, resumed, cancelled, finished (with or without failures) |
| Webhooks | A webhook was switched off after 100 failed deliveries in a row |
| Automations | A rule answered someone, or a reply was held back and why |
| Backups | A backup was written, or failed |
| License | Our licence server cannot be reached, or answers again |
| Security | A sign-in, a refused sign-in attempt and its reason, an account or API key created, revoked, deleted |
| System | The gateway started, the settings changed, a contact import finished, an internal error |
Messages sent, delivered and received one by one are not in the log: they would bury the problems. Follow them in the Queue and in Conversations.
The log never contains the text of a message or a full phone number: numbers appear masked
(+261******89).
Reading an entry
Each row shows:
- the level, with an icon and a word (Information, Warning, Error), never a colour alone;
- when, in relative time; hover over it for the exact time in the platform time zone;
- the category;
- what happened, in one sentence, and its cause.
Click a row to see its details: the exact time and code, Why: the cause, What to do for warnings and errors, the raw parameters, and a link to the screen concerned (Open the queue, Open the devices, Open the campaigns...).
Failed messages: cause and advice
When a phone reports why an SMS failed, the log translates the reason:
| Code | Cause | What to do |
|---|---|---|
RADIO_OFF |
The phone's mobile radio is off (airplane mode) | Turn airplane mode off on the phone |
NO_SERVICE |
The SIM had no network signal | Move the phone where it gets better signal, or check the SIM with the carrier |
GENERIC_FAILURE |
The carrier refused the SMS, most often for lack of credit | Check the SIM credit or its SMS plan, then retry |
NULL_PDU |
The phone could not encode the message | Retry; if it fails again, restart the phone |
DEVICE_OFFLINE |
No phone was connected to send it | Reconnect at least one phone, then retry from the queue |
MAX_ATTEMPTS_REACHED |
Every allowed attempt failed | Look at the previous failures in the queue, fix the cause, retry |
DEVICE_ERROR |
The phone reported an error without details | Restart the app on the phone, then retry |
DELIVERY_FAILED |
The SMS left, but the carrier reports it was not delivered | Check that the number is correct and in service |
PERMISSION_DENIED |
The app is not allowed to send SMS on this phone | Open the app and grant the SMS permission |
NO_SMS_MANAGER |
This phone cannot send SMS | Use another phone, or check that a SIM is inserted |
INVALID_ARGUMENT |
The phone refused the message as malformed | Check the recipient's number, then retry |
ORDER_EXPIRED |
The phone received the order too late to send it | Check the phone's internet connection, then retry |
Filters
| Filter | Values | Effect |
|---|---|---|
| Severity | Everything, Warnings and errors, Errors only | Hides the less serious levels |
| Category | All, or one of the nine categories above | Shows one category |
| Device | All, or one phone | Shows what concerns that phone |
| Search | Free text, 100 characters at most, for example RADIO_OFF or offline |
Searches the codes and parameters, capitals ignored |
| From, To | Two dates, read in the platform time zone | Limits the period. A start after the end is flagged and not applied |
Clear filters puts everything back. At the top, the counters of errors and warnings over the last 24 hours are clickable: a click applies the matching severity.
Refresh automatically, on by default, reloads the log every 15 seconds. Turn it off to read calmly without rows moving.
Technical logs (Superadmin)
The Technical logs button opens a side panel with the latest raw log lines of the gateway, the ones your developer or our support needs to diagnose a problem:
- the last 1,000 lines, kept in memory only: they are lost when the gateway restarts, unlike the activity log;
- a Minimum level filter (Debug, Info, Warning, Error) and a refresh every 5 seconds;
- Copy line and Copy all, to paste into an email or a ticket;
- on an internal error entry, See the technical line opens the panel on the matching line.
These lines never contain a message text, a full phone number or a secret, but they do show internal paths and error messages: that is why only the Superadmin sees them.
Which lines are captured depends on GATEWAY_LOG_LEVEL (debug, info, warn or error, info by
default): at error, the panel shows errors only. The same lines are available on the server with
sms-gateway logs.
How long entries are kept
Entries older than 30 days are deleted automatically, once an hour. The duration is read at
start-up from GATEWAY_LOG_RETENTION_DAYS (1 to 3650 days): set it in the .env file of the
installation, then run sms-gateway restart (see
Installation, settings).
Who can see it
| Role | Activity log | Technical logs |
|---|---|---|
| Read only | No: the screen explains that the role does not give access | No |
| Operator | Yes | No |
| Superadmin | Yes | Yes |
With the API
| Method | Path | What it does |
|---|---|---|
GET |
/api/v1/logs |
The entries. Filters: minLevel, category, from, to, deviceId, search, limit, cursor |
GET |
/api/v1/logs/stats |
Errors and warnings per category over the last hours (1 to 720, 24 by default) |
GET |
/api/v1/logs/technical |
The technical lines. minLevel, afterSeq, limit (1 to 1000, 200 by default). Key with the admin scope |
The first two need a key with the read scope at least. See API keys.
Troubleshooting
| What you see | Why, and what to do |
|---|---|
| "Your role does not give access to the activity log" | Your account is Read only. Ask a Superadmin |
| The Technical logs button is missing | Only a Superadmin sees it |
| The technical panel is almost empty | The gateway restarted recently, or GATEWAY_LOG_LEVEL is set to error |
| An event from two months ago is gone | Entries are deleted after the retention period (30 days by default) |
| "Our licence server cannot be reached" | Nothing to do: the gateway keeps working. See License |